:root{
  --bg: #3a0b12;
  --surface: #f3f3f3;
  --card: #ffffff;
  --text: #121212;
  --muted: #6b6b6b;
  --border: rgba(0,0,0,0.08);
  --radius-xl: 26px;
  --radius-lg: 18px;
  --radius-md: 12px;
  --shadow: 0 10px 30px rgba(0,0,0,0.08);
  --accent: #2D6CDF;
  --sidebar-w: 300px;
}

*{ box-sizing: border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
}

/* ---------- APP SHELL ---------- */
.app-shell{
  min-height: 100vh;
  background: radial-gradient(1200px 600px at 70% 0%, rgba(255,255,255,0.08), transparent 60%), var(--bg);
  display:flex;
}

.sidebar{
  width: var(--sidebar-w);
  padding: 28px 18px;
  color: rgba(255,255,255,0.9);
}

.sidebar-brand{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-bottom: 22px;
}
.burger{ font-size: 22px; opacity: 0.9; }
.brand-name{
  font-size: 26px;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-style: italic;
  letter-spacing: 0.4px;
}

.nav-section{ margin-top: 22px; }
.nav-label{
  font-size: 12px;
  opacity: 0.65;
  margin: 10px 10px;
  text-transform: none;
}
.nav-item{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 16px;
  color: rgba(255,255,255,0.92);
  text-decoration:none;
  border: 1px solid transparent;
}
.nav-item:hover{ background: rgba(255,255,255,0.06); }
.nav-item.active{
  background: rgba(0,0,0,0.18);
  border: 1px solid rgba(255,255,255,0.14);
}
.nav-title{ font-weight: 650; }
.nav-sub{ font-size: 12px; opacity: 0.75; margin-top: 4px; max-width: 220px; }
.nav-arrow{ font-size: 22px; opacity: 0.6; margin-top: 2px; }

.nav-link{
  display:block;
  padding: 10px 14px;
  color: rgba(255,255,255,0.78);
  text-decoration:none;
  border-radius: 12px;
}
.nav-link:hover{ background: rgba(255,255,255,0.06); }

.app-main{
  flex:1;
  display:flex;
  flex-direction: column;
}

.topbar{
  height: 72px;
  padding: 16px 22px;
  display:flex;
  align-items:center;
  justify-content: space-between;
}

.user-pill{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.92);
  font-size: 13px;
}
.user-pill .logout{
  color: rgba(255,255,255,0.92);
  text-decoration:none;
  border-left: 1px solid rgba(255,255,255,0.25);
  padding-left: 10px;
}
.user-pill .logout:hover{ text-decoration: underline; }

.surface{
  background: var(--surface);
  border-radius: 32px;
  margin: 0 22px 22px 0;
  min-height: calc(100vh - 94px);
  box-shadow: var(--shadow);
  padding: 22px;
}

/* ---------- COMPONENTS ---------- */
.page-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  padding: 10px 6px 18px 6px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 18px;
}
.page-title{
  display:flex;
  gap: 12px;
  align-items:flex-start;
}
.page-title h1{ margin:0; font-size: 24px; }
.page-title p{ margin:4px 0 0 0; color: var(--muted); font-size: 13px; }

.actions{ display:flex; gap: 10px; align-items:center; }

.btn{
  border-radius: 999px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  background: #fff;
  cursor:pointer;
  text-decoration:none;
  color: var(--text);
  font-size: 13px;
}
.btn-primary{
  background:#2d2d2d;
  color:#fff;
  border-color:#2d2d2d;
}
.btn-ghost{
  background: transparent;
  color: #2d2d2d;
}
.icon-btn{
  width: 38px; height: 38px;
  display:grid; place-items:center;
  border-radius: 999px;
}

.card{
  background: var(--card);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  padding: 16px;
}
.stats{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}
.stat{
  display:flex;
  gap: 12px;
  align-items:center;
}
.stat .num{ font-size: 26px; font-weight: 750; }
.stat .label{ color: var(--muted); font-size: 13px; margin-top: 4px; }

.grid-2{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: 14px;
}

.empty{
  min-height: 260px;
  display:grid;
  place-items:center;
  text-align:center;
  color: var(--muted);
}
.empty .big{ font-size: 14px; color: #7a7a7a; margin-top: 10px; }
.empty .small{ font-size: 12px; opacity: 0.9; }

.pill{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 205, 205, 0.6);
  font-size: 12px;
  color: #3b1b1b;
}

.progress{
  height: 6px;
  border-radius: 999px;
  background: #e6e6e6;
  overflow:hidden;
}
.progress > div{
  height: 100%;
  width: 30%;
  background: var(--accent);
}

/* forms */
.form-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: 14px;
}
.field{ margin-top: 10px; }
.label{ font-size: 12px; color: var(--muted); margin-bottom: 6px; }
.input{
  width: 100%;
  border-radius: 999px;
  border: 1px solid var(--border);
  padding: 12px 14px;
  background: #f1f1f1;
  outline: none;
}
.input:focus{ border-color: rgba(0,0,0,0.25); background:#fff; }

/* ---------- LOGIN PAGE ---------- */
.auth-shell{
  min-height: 100vh;
  display:grid;
  grid-template-columns: 1fr 1fr;
}
.auth-left{
  display:grid;
  place-items:center;
  background: #fff;
  padding: 40px;
}
.auth-card{
  width: 420px;
  max-width: 92vw;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 26px;
}
.auth-title{ text-align:center; margin-top: 10px; }
.auth-title h1{ margin: 10px 0 6px; font-size: 18px; }
.auth-title p{ margin: 0; color: var(--muted); font-size: 13px; }

.auth-right{
  position: relative;
  background: #111;
  background-image: url("../assets/login-bg.jpg");
  background-size: cover;
  background-position: center;
}
.auth-brand{
  position:absolute;
  top: 18px;
  left: 24px;
  color: rgba(255,255,255,0.9);
  font-family: ui-serif, Georgia, serif;
  font-style: italic;
  font-size: 30px;
}

/* --- chips for staffing selection --- */
.chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  font-size: 12px;
  margin: 6px 6px 0 0;
}
.chip-x {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  opacity: 0.7;
}
.chip-x:hover { opacity: 1; }

.mini-btn {
  border-radius: 999px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  width: 100%;
}
.mini-btn:hover { background: #fafafa; }

.row-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 0.9fr 0.7fr auto;
  gap: 12px;
}

/* stacked member rows (Figma-like) */
.stack-list { margin-top: 10px; display: grid; gap: 10px; }

.stack-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #f1f1f1;
}

.stack-row-text{
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 10px;
}

.stack-row-x{
  border: none;
  background: #fff;
  border: 1px solid var(--border);
  width: 28px;
  height: 28px;
  border-radius: 999px;
  cursor: pointer;
  line-height: 1;
  font-size: 18px;
  opacity: 0.8;
}
.stack-row-x:hover{ opacity: 1; }

/* ---------- DASHBOARD V2 ---------- */

.topbar-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  color: rgba(255,255,255,0.92);
}

.topbar-kicker{
  font-size:12px;
  opacity:0.72;
}

.topbar-title{
  font-size:18px;
  line-height:1.2;
  font-weight:700;
}

.page-icon{
  font-size:22px;
  line-height:1;
  margin-top:2px;
}

.stat-card-v2{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:76px;
}

.stat-number{
  font-size:26px;
  line-height:1;
  font-weight:750;
  color: var(--text);
  min-width:34px;
}

.stat-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.stat-heading{
  font-size:13px;
  font-weight:600;
  color: var(--text);
}

.stat-sub{
  font-size:12px;
  color: var(--muted);
}

.dashboard-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:14px;
}

.dashboard-panel{
  min-height:360px;
  padding:18px;
}

.dashboard-panel-wide{
  min-height:360px;
}

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

.dashboard-panel-title{
  font-size:16px;
  font-weight:700;
  color: var(--text);
}

.dashboard-panel-link{
  font-size:13px;
  color: var(--text);
  text-decoration:none;
  opacity:0.72;
}

.dashboard-panel-link:hover{
  opacity:1;
  text-decoration:none;
}

.project-list{
  display:grid;
  gap:12px;
}

.project-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

.project-row:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.12);
  text-decoration:none;
}

.project-row-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.project-row-title{
  font-size:16px;
  line-height:1.3;
  font-weight:700;
  color: var(--text);
}

.project-row-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:12px;
  color: var(--muted);
}

.project-row-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  flex-shrink:0;
}

.project-row-date{
  font-size:12px;
  color: var(--muted);
  text-align:right;
}

.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#f6f6f6;
  font-size:12px;
  color: var(--text);
  text-transform:capitalize;
}

.empty-compact{
  min-height:280px;
}

.empty-icon{
  font-size:28px;
  margin-bottom:10px;
}

.activity-placeholder{
  display:flex;
  align-items:center;
  min-height:280px;
}

.activity-placeholder-text{
  font-size:13px;
  color: var(--muted);
  line-height:1.6;
}

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

@media (max-width: 720px){
  .project-row{
    flex-direction:column;
  }

  .project-row-side{
    align-items:flex-start;
  }
}


/* ---------- ADMIN DASHBOARD REFINEMENT ---------- */

.dashboard-company{
  background: #ececea;
}

.dashboard-company .sidebar{
  width: 286px;
  padding: 22px 16px;
  background:
    linear-gradient(180deg, rgba(86, 4, 19, 0.96) 0%, rgba(82, 3, 16, 0.98) 100%);
  border-right: 1px solid rgba(255,255,255,0.06);
}

.dashboard-company .sidebar-brand{
  margin-bottom: 18px;
  padding: 4px 8px 10px;
}

.dashboard-company .brand-name{
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.2px;
}

.dashboard-company .burger{
  font-size: 18px;
  opacity: 0.92;
}

.dashboard-company .nav-section{
  margin-top: 18px;
}

.dashboard-company .nav-section-bottom{
  margin-top: auto;
  padding-top: 18px;
}

.dashboard-company .nav-label{
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 10px 10px;
  opacity: 0.68;
}

.dashboard-company .nav-item{
  padding: 16px 14px;
  border-radius: 20px;
  margin-bottom: 8px;
  border: 1px solid transparent;
  background: transparent;
}

.dashboard-company .nav-item:hover{
  background: rgba(255,255,255,0.04);
}

.dashboard-company .nav-item.active{
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.14);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}

.dashboard-company .nav-title{
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.dashboard-company .nav-sub{
  font-size: 11px;
  line-height: 1.45;
  margin-top: 6px;
  max-width: 210px;
  opacity: 0.78;
}

.dashboard-company .nav-arrow{
  font-size: 18px;
  margin-top: 2px;
  opacity: 0.58;
}

.dashboard-company .nav-link{
  padding: 10px 14px;
  font-size: 14px;
}

.dashboard-company .topbar{
  height: 84px;
  padding: 18px 26px 8px;
}

.topbar-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  color: rgba(255,255,255,0.94);
}

.topbar-kicker{
  font-size:12px;
  opacity:0.72;
}

.topbar-title{
  font-size:18px;
  line-height:1.2;
  font-weight:700;
}

.dashboard-company .user-pill{
  padding: 11px 16px;
  font-size: 13px;
  border-color: rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.02);
  backdrop-filter: blur(10px);
}

.dashboard-company .surface{
  background: #fbfbfa;
  border-radius: 28px;
  margin: 6px 18px 18px 0;
  min-height: calc(100vh - 108px);
  padding: 24px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.05);
}

.dashboard-company .page-head{
  padding: 2px 2px 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.dashboard-company .page-title{
  gap: 14px;
}

.page-icon{
  font-size: 22px;
  line-height: 1;
  margin-top: 2px;
}

.dashboard-company .page-title h1{
  font-size: 24px;
  line-height: 1.15;
  font-weight: 750;
  letter-spacing: -0.01em;
}

.dashboard-company .page-title p{
  margin-top: 6px;
  font-size: 14px;
  color: #6f6f73;
}

.dashboard-company .actions{
  gap: 10px;
}

.dashboard-company .btn{
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 14px;
  border-color: rgba(0,0,0,0.08);
  background: #ffffff;
}

.dashboard-company .btn-primary{
  background: #1f1f23;
  border-color: #1f1f23;
  color: #ffffff;
}

.dashboard-company .card{
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}

.stats-admin{
  gap: 12px;
  margin-bottom: 14px;
}

.stat-card-v2{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:84px;
  padding: 18px;
}

.stat-number{
  font-size: 30px;
  line-height: 1;
  font-weight: 760;
  letter-spacing: -0.02em;
  color: #101114;
  min-width: 40px;
}

.stat-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.stat-heading{
  font-size: 14px;
  line-height: 1.2;
  font-weight: 650;
  color: #17181b;
}

.stat-sub{
  font-size: 12px;
  line-height: 1.45;
  color: #777980;
}

.dashboard-admin-grid{
  display:grid;
  grid-template-columns: 1.8fr 1fr;
  gap: 14px;
}

.dashboard-side-stack{
  display:grid;
  gap:14px;
}

.dashboard-panel{
  padding: 18px;
}

.dashboard-panel-short{
  min-height: 220px;
}

.dashboard-panel-wide{
  min-height: 468px;
}

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

.dashboard-panel-title{
  font-size: 18px;
  line-height: 1.2;
  font-weight: 740;
  color: #16171a;
}

.dashboard-panel-link{
  font-size: 13px;
  color: #5f6167;
  text-decoration:none;
}

.dashboard-panel-link:hover{
  text-decoration:none;
  color:#1f1f23;
}

.project-list{
  display:grid;
  gap:12px;
}

.project-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:16px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.project-row:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.12);
  text-decoration:none;
}

.project-row-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.project-row-title{
  font-size:16px;
  line-height:1.35;
  font-weight:700;
  color:#141518;
}

.project-row-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:12px;
  line-height:1.5;
  color:#71747b;
}

.project-row-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  flex-shrink:0;
}

.project-row-date{
  font-size:12px;
  color:#7b7d84;
  text-align:right;
}

.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);
  background:#f5f5f4;
  font-size:12px;
  color:#202126;
  text-transform:capitalize;
}

.quick-actions-list{
  display:grid;
  gap:10px;
}

.quick-action-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:14px;
  background:#fcfcfb;
  color:#18191d;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}

.quick-action-row:hover{
  text-decoration:none;
  border-color: rgba(0,0,0,0.12);
  background:#ffffff;
}

.dashboard-note-list{
  display:grid;
  gap:14px;
}

.dashboard-note-item{
  padding: 2px 0;
}

.dashboard-note-title{
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  color:#17181b;
  margin-bottom:5px;
}

.dashboard-note-sub{
  font-size:13px;
  line-height:1.6;
  color:#73767d;
}

.empty-compact{
  min-height: 300px;
}

.empty-icon{
  font-size: 28px;
  margin-bottom: 10px;
}

.dashboard-company .empty .big{
  font-size: 16px;
  color: #303138;
}

.dashboard-company .empty .small{
  font-size: 13px;
  line-height: 1.6;
  color: #7a7c83;
}

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

@media (max-width: 820px){
  .dashboard-company .surface{
    margin: 8px 12px 12px 0;
    padding: 18px;
  }

  .dashboard-company .page-head{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }

  .dashboard-company .actions{
    flex-wrap:wrap;
  }

  .stats-admin{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

  .project-row{
    flex-direction:column;
  }

  .project-row-side{
    align-items:flex-start;
  }
}


/* ========================================================================
   ADMIN DASHBOARD — SaaS guardrail pass
   Scoped to .dashboard-saas only
   ======================================================================== */

.dashboard-saas{
  min-height: 100vh;
  background: #efefed;
  padding: 16px;
  gap: 16px;
}

.dashboard-saas .sidebar{
  width: 272px;
  min-height: calc(100vh - 32px);
  padding: 18px 14px;
  border-radius: 22px;
  background: linear-gradient(180deg, #5c000d 0%, #4a0009 100%);
  box-shadow: 0 14px 34px rgba(33, 7, 12, 0.18);
  display: flex;
  flex-direction: column;
}

.dashboard-saas .sidebar-brand{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
  padding: 4px 8px 12px;
}

.dashboard-saas .sidebar-mark{
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.9);
  font-size: 13px;
  margin-top: 3px;
}

.dashboard-saas .sidebar-brand-copy{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.dashboard-saas .brand-name{
  font-size: 22px;
  line-height: 1;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-style: italic;
  color: #fff;
  letter-spacing: 0.1px;
}

.dashboard-saas .brand-sub{
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.58);
}

.dashboard-saas .nav-section{
  margin-top: 14px;
}

.dashboard-saas .nav-section-bottom{
  margin-top: auto;
  padding-top: 18px;
}

.dashboard-saas .nav-label{
  margin: 0 10px 10px;
  font-size: 11px;
  line-height: 1.2;
  color: rgba(255,255,255,0.62);
  text-transform: none;
  letter-spacing: 0;
}

.dashboard-saas .nav-item{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px;
  border-radius: 18px;
  color: rgba(255,255,255,0.95);
  text-decoration: none;
  border: 1px solid transparent;
  margin-bottom: 8px;
  background: transparent;
  transition: background .14s ease, border-color .14s ease, transform .14s ease;
}

.dashboard-saas .nav-item:hover{
  background: rgba(255,255,255,0.045);
  border-color: rgba(255,255,255,0.06);
  transform: translateY(-1px);
}

.dashboard-saas .nav-item.active{
  background: rgba(255,255,255,0.055);
  border-color: rgba(255,255,255,0.12);
}

.dashboard-saas .nav-copy{
  min-width: 0;
}

.dashboard-saas .nav-title{
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
}

.dashboard-saas .nav-sub{
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255,255,255,0.74);
  max-width: 210px;
}

.dashboard-saas .nav-arrow{
  font-size: 18px;
  line-height: 1;
  margin-top: 2px;
  color: rgba(255,255,255,0.58);
}

.dashboard-saas .nav-link{
  display: block;
  padding: 10px 14px;
  color: rgba(255,255,255,0.88);
  text-decoration: none;
  border-radius: 12px;
  font-size: 14px;
}

.dashboard-saas .nav-link:hover{
  background: rgba(255,255,255,0.05);
}

.dashboard-saas .app-main{
  flex: 1;
  min-height: calc(100vh - 32px);
  background: #f7f7f5;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,0.04);
}

.dashboard-saas .dash-topbar{
  height: 78px;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  background: #f7f7f5;
}

.dashboard-saas .dash-search-wrap{
  flex: 1;
  max-width: 620px;
}

.dashboard-saas .dash-search{
  width: 100%;
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #ffffff;
  padding: 0 16px;
  font-size: 14px;
  color: #111217;
  outline: none;
}

.dashboard-saas .dash-search:focus{
  border-color: rgba(92, 0, 13, 0.35);
  box-shadow: 0 0 0 4px rgba(92, 0, 13, 0.06);
}

.dashboard-saas .dash-topbar-right{
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.dashboard-saas .dash-user-meta{
  display: flex;
  align-items: center;
  gap: 8px;
}

.dashboard-saas .dash-role-chip{
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  min-height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  font-size: 12px;
  color: #6a6d74;
}

.dashboard-saas .dash-user-name{
  font-size: 14px;
  font-weight: 600;
  color: #191a1f;
}

.dashboard-saas .dash-avatar{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0,0,0,0.08);
  background: #ffffff;
  text-decoration: none;
  font-size: 18px;
}

.dashboard-saas .surface{
  background: transparent;
  margin: 0;
  min-height: auto;
  box-shadow: none;
  border-radius: 0;
  padding: 24px;
}

.dashboard-saas .dash-hero{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.dashboard-saas .dash-hero-copy h1{
  margin: 0;
  font-size: 28px;
  line-height: 1.08;
  font-weight: 760;
  letter-spacing: -0.02em;
  color: #15161a;
}

.dashboard-saas .dash-hero-copy p{
  margin: 10px 0 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: #6d7077;
  max-width: 720px;
}

.dashboard-saas .dash-hero-actions{
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.dashboard-saas .btn{
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
}

.dashboard-saas .btn-primary{
  background: #5a000d;
  color: #fff;
  border-color: #5a000d;
}

.dashboard-saas .btn-primary:hover{
  background: #4b000b;
  border-color: #4b000b;
}

.dashboard-saas .dash-stat-row{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.dashboard-saas .dash-stat-card{
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 18px;
  padding: 18px 18px 16px;
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dashboard-saas .dash-stat-kicker{
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: #918f93;
}

.dashboard-saas .dash-stat-number{
  margin-top: 8px;
  font-size: 38px;
  line-height: 1;
  font-weight: 780;
  letter-spacing: -0.03em;
  color: #101115;
}

.dashboard-saas .dash-stat-note{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.5;
  color: #6f7279;
}

.dashboard-saas .dash-content-grid{
  display: grid;
  grid-template-columns: 1.85fr 0.9fr;
  gap: 16px;
}

.dashboard-saas .dash-section-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.dashboard-saas .dash-section-head h2{
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 750;
  color: #17181d;
}

.dashboard-saas .dash-section-head a{
  font-size: 14px;
  font-weight: 600;
  color: #23242a;
  text-decoration: none;
}

.dashboard-saas .dash-section-head a:hover{
  opacity: 0.8;
}

.dashboard-saas .dash-section-head-tight{
  margin-bottom: 16px;
}

.dashboard-saas .dash-project-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-saas .dash-project-card{
  display: block;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,0.07);
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dashboard-saas .dash-project-card:hover{
  transform: translateY(-2px);
  border-color: rgba(0,0,0,0.11);
  box-shadow: 0 12px 22px rgba(0,0,0,0.05);
  text-decoration: none;
}

.dashboard-saas .dash-project-badge{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f4f0f1;
  color: #6d5a5e;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.dashboard-saas .dash-project-title{
  margin-top: 16px;
  font-size: 28px;
  line-height: 1.12;
  font-weight: 760;
  letter-spacing: -0.02em;
  color: #17181d;
}

.dashboard-saas .dash-project-meta{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13px;
  line-height: 1.5;
  color: #777980;
}

.dashboard-saas .dash-project-progress-row{
  margin-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  font-weight: 600;
  color: #24262b;
}

.dashboard-saas .dash-project-progress{
  margin-top: 8px;
  height: 6px;
  border-radius: 999px;
  background: #ececec;
  overflow: hidden;
}

.dashboard-saas .dash-project-progress > div{
  height: 100%;
  background: #5a000d;
  border-radius: 999px;
}

.dashboard-saas .dash-project-footer{
  margin-top: 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  color: #83858b;
}

.dashboard-saas .dash-project-footer strong{
  font-size: 14px;
  color: #17181d;
  font-weight: 700;
}

.dashboard-saas .dash-side-panel{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,0.07);
  background: #ffffff;
  padding: 18px;
  min-height: 100%;
}

.dashboard-saas .dash-side-pill{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f6f6f5;
  color: #7c7e84;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dashboard-saas .dash-task-list{
  display: grid;
  gap: 14px;
}

.dashboard-saas .dash-task-item{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.dashboard-saas .dash-task-item:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}

.dashboard-saas .dash-task-check{
  width: 18px;
  height: 18px;
  border-radius: 5px;
  border: 1.5px solid rgba(0,0,0,0.12);
  background: #fff;
  margin-top: 2px;
  flex-shrink: 0;
}

.dashboard-saas .dash-task-check-done{
  background: #5a000d;
  border-color: #5a000d;
  position: relative;
}

.dashboard-saas .dash-task-check-done::after{
  content: '✓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.dashboard-saas .dash-task-copy{
  min-width: 0;
}

.dashboard-saas .dash-task-title{
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  color: #17181d;
}

.dashboard-saas .dash-task-title-done{
  text-decoration: line-through;
  color: #8a8d94;
}

.dashboard-saas .dash-task-sub{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.55;
  color: #72757b;
}

.dashboard-saas .dash-empty-card{
  border-radius: 18px;
  border: 1px dashed rgba(0,0,0,0.10);
  background: #fcfcfb;
  padding: 32px 22px;
}

.dashboard-saas .dash-empty-title{
  font-size: 18px;
  font-weight: 700;
  color: #17181d;
}

.dashboard-saas .dash-empty-sub{
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #72757b;
}

@media (max-width: 1280px){
  .dashboard-saas .dash-stat-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-saas .dash-content-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas{
    padding: 10px;
    gap: 10px;
  }

  .dashboard-saas .sidebar{
    width: 250px;
  }

  .dashboard-saas .surface{
    padding: 18px;
  }

  .dashboard-saas .dash-hero{
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-saas .dash-hero-actions{
    flex-wrap: wrap;
  }

  .dashboard-saas .dash-project-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .dashboard-saas .dash-topbar{
    flex-direction: column;
    align-items: stretch;
    height: auto;
  }

  .dashboard-saas .dash-topbar-right{
    justify-content: space-between;
  }

  .dashboard-saas .dash-stat-row{
    grid-template-columns: 1fr;
  }

  .dashboard-saas .dash-project-title{
    font-size: 22px;
  }
}

/* ---------- ADMIN DASHBOARD MINOR PASS ---------- */

.dashboard-saas .dash-topbar-left{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1;
  min-width:0;
}

.dashboard-saas .sidebar-toggle{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,0.08);
  background:#ffffff;
  color:#17181d;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  flex-shrink:0;
}

.dashboard-saas .sidebar-toggle:hover{
  background:#f4f4f2;
}

.dashboard-saas.sidebar-collapsed .sidebar{
  width: 128px;
  padding-left: 10px;
  padding-right: 10px;
}

.dashboard-saas.sidebar-collapsed .brand-sub{
  display:none;
}

.dashboard-saas.sidebar-collapsed .sidebar-brand{
  padding-left: 6px;
  padding-right: 6px;
}

.dashboard-saas.sidebar-collapsed .brand-name{
  font-size: 18px;
}

.dashboard-saas.sidebar-collapsed .nav-label{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-item{
  padding: 12px 10px;
}

.dashboard-saas.sidebar-collapsed .nav-sub{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-title{
  font-size: 13px;
  line-height: 1.25;
}

.dashboard-saas.sidebar-collapsed .nav-arrow{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-link{
  text-align:left;
  padding-left:10px;
  padding-right:10px;
}

.dashboard-saas.sidebar-collapsed .sidebar-mark{
  width:22px;
  height:22px;
  font-size:11px;
}

@media (max-width: 920px){
  .dashboard-saas.sidebar-collapsed .sidebar{
    width: 104px;
  }

  .dashboard-saas .dash-topbar-left{
    width:100%;
  }

  .dashboard-saas .dash-search-wrap{
    min-width:0;
  }
}


/* ---------- SIDEBAR TOGGLE INSIDE SIDEBAR ---------- */

.dashboard-saas .sidebar-brand{
  justify-content: space-between;
}

.dashboard-saas .sidebar-brand-toggle{
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  flex-shrink: 0;
}

.dashboard-saas .sidebar-brand-toggle:hover{
  background: rgba(255,255,255,0.10);
}

.dashboard-saas .sidebar-mark-glyph{
  font-size: 12px;
  line-height: 1;
}

.dashboard-saas .dash-topbar-left{
  display:flex;
  align-items:center;
  flex:1;
  min-width:0;
}

.dashboard-saas.sidebar-collapsed .sidebar{
  width: 104px;
  padding-left: 10px;
  padding-right: 10px;
}

.dashboard-saas.sidebar-collapsed .sidebar-brand{
  justify-content: center;
}

.dashboard-saas.sidebar-collapsed .sidebar-brand-copy{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-label{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-item{
  padding: 12px 10px;
}

.dashboard-saas.sidebar-collapsed .nav-sub{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-title{
  font-size: 12px;
  line-height: 1.25;
}

.dashboard-saas.sidebar-collapsed .nav-arrow{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-link{
  padding-left:10px;
  padding-right:10px;
}

@media (max-width: 920px){
  .dashboard-saas.sidebar-collapsed .sidebar{
    width: 96px;
  }
}

/* ========================================================================
   PROJECTS PAGE — SaaS pass
   Scoped through .dashboard-saas
   ======================================================================== */

.dashboard-saas .projects-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.dashboard-saas .projects-page-copy h1{
  margin:0;
  font-size:28px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .projects-page-copy p{
  margin:10px 0 0 0;
  font-size:15px;
  line-height:1.6;
  color:#6d7077;
  max-width:720px;
}

.dashboard-saas .projects-page-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

.dashboard-saas .projects-empty-wrap{
  margin-top: 10px;
}

.dashboard-saas .projects-table-shell{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:18px;
  overflow:hidden;
}

.dashboard-saas .projects-table-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.dashboard-saas .projects-table-title{
  font-size:18px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .projects-table-sub{
  font-size:13px;
  color:#73767d;
}

.dashboard-saas .projects-table-wrap{
  overflow-x:auto;
}

.dashboard-saas .projects-table{
  width:100%;
  border-collapse:collapse;
}

.dashboard-saas .projects-table thead th{
  padding:14px 20px;
  text-align:left;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8b8e95;
  background:#fbfbfa;
  border-bottom:1px solid rgba(0,0,0,0.06);
  white-space:nowrap;
}

.dashboard-saas .projects-table tbody td{
  padding:18px 20px;
  font-size:14px;
  line-height:1.5;
  color:#1d1e23;
  border-bottom:1px solid rgba(0,0,0,0.05);
  vertical-align:middle;
}

.dashboard-saas .projects-table tbody tr:last-child td{
  border-bottom:none;
}

.dashboard-saas .projects-table tbody tr:hover td{
  background:#fcfcfb;
}

.dashboard-saas .projects-link{
  font-size:16px;
  line-height:1.35;
  font-weight:700;
  color:#15161a;
  text-decoration:none;
}

.dashboard-saas .projects-link:hover{
  color:#5a000d;
  text-decoration:none;
}

@media (max-width: 920px){
  .dashboard-saas .projects-page-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .projects-page-actions{
    flex-wrap:wrap;
  }
}

/* ========================================================================
   PROJECTS PAGE — light card grid pass
   ======================================================================== */

.dashboard-saas .projects-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.dashboard-saas .projects-card-copy{
  min-width:0;
}

.dashboard-saas .projects-card-kicker{
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.10em;
  color:#878b93;
  margin-bottom:10px;
}

.dashboard-saas .projects-card-copy h1{
  margin:0;
  font-size:28px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .projects-card-copy p{
  margin:10px 0 0 0;
  font-size:15px;
  line-height:1.6;
  color:#6d7077;
  max-width:760px;
}

.dashboard-saas .projects-card-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

.dashboard-saas .projects-card-empty{
  margin-top:10px;
}

.dashboard-saas .projects-card-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.dashboard-saas .projects-card-toolbar-title{
  font-size:18px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .projects-card-toolbar-meta{
  font-size:13px;
  color:#73767d;
}

.dashboard-saas .projects-card-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:16px;
}

@media (max-width: 1400px){
  .dashboard-saas .projects-card-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px){
  .dashboard-saas .projects-card-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px){
  .dashboard-saas .projects-card-grid{
    grid-template-columns: 1fr;
  }
}

.dashboard-saas .project-grid-card{
  display:block;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(0,0,0,0.07);
  background:#ffffff;
  text-decoration:none;
  color:inherit;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dashboard-saas .project-grid-card:hover{
  transform: translateY(-2px);
  border-color: rgba(0,0,0,0.11);
  box-shadow: 0 14px 26px rgba(0,0,0,0.06);
  text-decoration:none;
}

.dashboard-saas .project-grid-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.dashboard-saas .project-grid-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 9px;
  border-radius:999px;
  background:#f4f0f1;
  color:#6d5a5e;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  max-width:70%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-saas .project-grid-title{
  margin-top:16px;
  font-size:22px;
  line-height:1.14;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#17181d;
}

.dashboard-saas .project-grid-meta{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  line-height:1.5;
  color:#7a7d84;
}

.dashboard-saas .project-grid-progress-head{
  margin-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:13px;
  color:#282a2f;
}

.dashboard-saas .project-grid-progress-head strong{
  font-size:13px;
  color:#17181d;
}

.dashboard-saas .project-grid-progress{
  margin-top:8px;
  height:7px;
  border-radius:999px;
  background:#ececeb;
  overflow:hidden;
}

.dashboard-saas .project-grid-progress > div{
  height:100%;
  border-radius:999px;
  background:#5a000d;
}

.dashboard-saas .project-grid-footer{
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,0.06);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.dashboard-saas .project-grid-footer-block{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}

.dashboard-saas .project-grid-footer-block-right{
  text-align:right;
  flex-shrink:0;
}

.dashboard-saas .project-grid-footer-label{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8d9096;
}

.dashboard-saas .project-grid-footer strong{
  font-size:14px;
  line-height:1.35;
  color:#17181d;
  font-weight:700;
}

@media (max-width: 980px){
  .dashboard-saas .projects-card-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .projects-card-actions{
    flex-wrap:wrap;
  }

  .dashboard-saas .projects-card-grid{
    grid-template-columns: 1fr;
  }
}

.dashboard-saas .project-grid-card{
  min-width: 0;
}

.dashboard-saas .project-grid-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.dashboard-saas .project-grid-badge{
  min-width: 0;
  max-width: calc(100% - 74px);
  font-size: 10px;
  padding: 4px 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dashboard-saas .status-pill{
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 11px;
  padding: 5px 9px;
}

.dashboard-saas .project-grid-title{
  font-size: 19px;
  line-height: 1.18;
}

.dashboard-saas .project-grid-footer{
  gap: 10px;
}

.dashboard-saas .project-grid-footer-block{
  min-width: 0;
}

.dashboard-saas .project-grid-footer-block strong{
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dashboard-saas .project-grid-footer-block-right strong{
  white-space: nowrap;
}

/* ========================================================================
   TEAM PAGE — SaaS pass
   ======================================================================== */

.dashboard-saas .team-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.dashboard-saas .team-page-copy{
  min-width:0;
}

.dashboard-saas .team-page-kicker{
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.10em;
  color:#878b93;
  margin-bottom:10px;
}

.dashboard-saas .team-page-copy h1{
  margin:0;
  font-size:28px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .team-page-copy p{
  margin:10px 0 0 0;
  font-size:15px;
  line-height:1.6;
  color:#6d7077;
  max-width:760px;
}

.dashboard-saas .team-page-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

.dashboard-saas .team-alert{
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:16px;
  font-size:14px;
  line-height:1.6;
}

.dashboard-saas .team-alert ul{
  margin:8px 0 0 18px;
}

.dashboard-saas .team-alert-success{
  border:1px solid rgba(0,0,0,0.08);
  background:#f7f9f7;
  color:#1f3125;
}

.dashboard-saas .team-alert-error{
  border:1px solid rgba(176,0,32,0.16);
  background:#fff6f7;
  color:#b00020;
}

.dashboard-saas .team-grid{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap:16px;
  align-items:start;
}

.dashboard-saas .team-form-card,
.dashboard-saas .team-list-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:18px;
  padding:18px;
}

.dashboard-saas .team-card-head{
  margin-bottom:16px;
}

.dashboard-saas .team-card-head h2{
  margin:0;
  font-size:18px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .team-card-head p{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.6;
  color:#74777d;
}

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

.dashboard-saas .team-form-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}

.dashboard-saas .team-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.dashboard-saas .team-field label{
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  color:#5f636b;
}

.dashboard-saas .team-field-submit{
  margin-top:4px;
}

.dashboard-saas .team-submit-btn{
  width:100%;
  justify-content:center;
}

.dashboard-saas .team-table-wrap{
  overflow-x:auto;
}

.dashboard-saas .team-table{
  width:100%;
  border-collapse:collapse;
}

.dashboard-saas .team-table thead th{
  padding:14px 14px;
  text-align:left;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8b8e95;
  background:#fbfbfa;
  border-bottom:1px solid rgba(0,0,0,0.06);
  white-space:nowrap;
}

.dashboard-saas .team-table tbody td{
  padding:16px 14px;
  font-size:14px;
  line-height:1.5;
  color:#1d1e23;
  border-bottom:1px solid rgba(0,0,0,0.05);
  vertical-align:middle;
}

.dashboard-saas .team-table tbody tr:last-child td{
  border-bottom:none;
}

.dashboard-saas .team-table tbody tr:hover td{
  background:#fcfcfb;
}

.dashboard-saas .team-member-name{
  font-size:15px;
  line-height:1.35;
  font-weight:700;
  color:#15161a;
}

.dashboard-saas .team-dept-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 9px;
  border-radius:999px;
  background:#f4f0f1;
  color:#6d5a5e;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
}

@media (max-width: 1180px){
  .dashboard-saas .team-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .team-page-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .team-page-actions{
    flex-wrap:wrap;
  }
}

/* ========================================================================
   SIDEBAR REFINEMENT — no helper subtext + icons preserved on collapse
   ======================================================================== */

.dashboard-saas .sidebar{
  width: 258px;
}

.dashboard-saas .sidebar-brand{
  justify-content: flex-start;
  gap: 12px;
  padding: 6px 8px 12px;
}

.dashboard-saas .sidebar-brand-toggle{
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  flex-shrink: 0;
}

.dashboard-saas .sidebar-brand-toggle:hover{
  background: rgba(255,255,255,0.10);
}

.dashboard-saas .sidebar-mark-glyph{
  font-size: 12px;
  line-height: 1;
}

.dashboard-saas .brand-name{
  font-size: 18px;
  font-style: normal;
  font-family: Inter, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.dashboard-saas .brand-sub{
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.dashboard-saas .nav-item{
  min-height: 48px;
  padding: 0 14px;
  border-radius: 12px;
  align-items: center;
}

.dashboard-saas .nav-item-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.dashboard-saas .nav-icon{
  width: 18px;
  min-width: 18px;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  color: rgba(255,255,255,0.88);
}

.dashboard-saas .nav-title{
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
}

.dashboard-saas .nav-sub{
  display:none;
}

.dashboard-saas .nav-arrow{
  font-size: 16px;
  color: rgba(255,255,255,0.48);
}

.dashboard-saas .sidebar-collapsed .sidebar,
.dashboard-saas.sidebar-collapsed .sidebar{
  width: 92px;
  padding-left: 10px;
  padding-right: 10px;
}

.dashboard-saas.sidebar-collapsed .sidebar-brand{
  justify-content:center;
}

.dashboard-saas.sidebar-collapsed .sidebar-brand-copy{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-label{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-item{
  justify-content:center;
  padding: 0 10px;
}

.dashboard-saas.sidebar-collapsed .nav-item-left{
  justify-content:center;
  width:100%;
}

.dashboard-saas.sidebar-collapsed .nav-title{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-arrow{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-icon{
  font-size:16px;
}

.dashboard-saas.sidebar-collapsed .nav-link{
  text-align:center;
  padding-left:10px;
  padding-right:10px;
}

/* ========================================================================
   TEAM PAGE V2 — closer to reference
   ======================================================================== */

.dashboard-saas .team-v2-head{
  margin-bottom: 18px;
}

.dashboard-saas .team-v2-title-wrap h1{
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 750;
  color: #17181d;
}

.dashboard-saas .team-v2-grid{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:18px;
  align-items:start;
}

.dashboard-saas .team-v2-form-card,
.dashboard-saas .team-v2-list-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:16px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.04);
}

.dashboard-saas .team-v2-form-card{
  padding: 0;
  overflow:hidden;
  position:relative;
}

.dashboard-saas .team-v2-form-card::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#5a000d;
}

.dashboard-saas .team-v2-list-card{
  overflow:hidden;
}

.dashboard-saas .team-v2-card-head{
  padding: 20px 20px 16px;
}

.dashboard-saas .team-v2-card-head-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.dashboard-saas .team-v2-card-head h2{
  margin:0;
  font-size:18px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .team-v2-card-head p{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.6;
  color:#72767d;
}

.dashboard-saas .team-v2-form{
  padding: 0 20px 20px;
  display:grid;
  gap:16px;
}

.dashboard-saas .team-v2-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.dashboard-saas .team-v2-field label{
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#7c8087;
}

.dashboard-saas .team-v2-submit{
  width:100%;
  justify-content:center;
  margin-top:8px;
  min-height:48px;
  font-size:15px;
}

.dashboard-saas .team-v2-table-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

.dashboard-saas .team-v2-ghost-btn{
  min-height:40px;
  padding: 10px 16px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.08);
  background:#f7f7f6;
  color:#17181d;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
}

.dashboard-saas .team-v2-ghost-btn:hover{
  background:#f1f1ef;
}

.dashboard-saas .team-v2-table-wrap{
  overflow-x:auto;
}

.dashboard-saas .team-v2-table{
  width:100%;
  border-collapse:collapse;
}

.dashboard-saas .team-v2-table thead th{
  padding:14px 18px;
  text-align:left;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#858991;
  background:#fbfbfa;
  border-bottom:1px solid rgba(0,0,0,0.06);
  white-space:nowrap;
}

.dashboard-saas .team-v2-table tbody td{
  padding:18px;
  font-size:14px;
  line-height:1.5;
  color:#1d1e23;
  border-bottom:1px solid rgba(0,0,0,0.05);
  vertical-align:middle;
}

.dashboard-saas .team-v2-table tbody tr:last-child td{
  border-bottom:none;
}

.dashboard-saas .team-v2-person{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.dashboard-saas .team-v2-avatar{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#17181d;
  color:#ffffff;
  font-size:15px;
  font-weight:700;
  flex-shrink:0;
}

.dashboard-saas .team-v2-person-copy{
  min-width:0;
}

.dashboard-saas .team-v2-person-name{
  font-size:15px;
  line-height:1.3;
  font-weight:700;
  color:#17181d;
}

.dashboard-saas .team-v2-person-email{
  margin-top:4px;
  font-size:13px;
  line-height:1.5;
  color:#757980;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-saas .team-v2-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:600;
  color:#9b9da3;
}

.dashboard-saas .team-v2-status::before{
  content:'•';
  font-size:18px;
  line-height:1;
  color:#c7c9ce;
}

.dashboard-saas .team-v2-status.is-active{
  color:#16945a;
}

.dashboard-saas .team-v2-status.is-active::before{
  color:#16945a;
}

.dashboard-saas .team-v2-row-menu{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#8d9096;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.dashboard-saas .team-v2-row-menu:hover{
  color:#17181d;
}

@media (max-width: 1180px){
  .dashboard-saas .team-v2-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .team-v2-card-head-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .team-v2-table-actions{
    flex-wrap:wrap;
  }
}

/* ========================================================================
   SIDEBAR REFINEMENT — icon-led / collapsed-safe
   ======================================================================== */

.dashboard-saas .sidebar{
  width: 258px;
}

.dashboard-saas .sidebar-brand{
  justify-content: flex-start;
  gap: 12px;
  padding: 6px 8px 12px;
}

.dashboard-saas .sidebar-brand-toggle{
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  flex-shrink: 0;
}

.dashboard-saas .sidebar-brand-toggle:hover{
  background: rgba(255,255,255,0.10);
}

.dashboard-saas .sidebar-mark-glyph{
  font-size: 12px;
  line-height: 1;
}

.dashboard-saas .brand-name{
  font-size: 18px;
  font-style: normal;
  font-family: Inter, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.dashboard-saas .brand-sub{
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.dashboard-saas .nav-item{
  min-height: 48px;
  padding: 0 14px;
  border-radius: 12px;
  align-items: center;
}

.dashboard-saas .nav-item-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.dashboard-saas .nav-icon{
  width: 18px;
  height: 18px;
  min-width: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.88);
}

.dashboard-saas .nav-icon svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-saas .nav-title{
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
}

.dashboard-saas .nav-sub{
  display:none;
}

.dashboard-saas .nav-arrow{
  font-size: 16px;
  color: rgba(255,255,255,0.48);
}

.dashboard-saas.sidebar-collapsed .sidebar{
  width: 92px;
  padding-left: 10px;
  padding-right: 10px;
}

.dashboard-saas.sidebar-collapsed .sidebar-brand{
  justify-content:center;
}

.dashboard-saas.sidebar-collapsed .sidebar-brand-copy{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-label{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-item{
  justify-content:center;
  padding: 0 10px;
}

.dashboard-saas.sidebar-collapsed .nav-item-left{
  justify-content:center;
  width:100%;
}

.dashboard-saas.sidebar-collapsed .nav-title{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-arrow{
  display:none;
}

.dashboard-saas.sidebar-collapsed .nav-icon{
  width:20px;
  height:20px;
  min-width:20px;
}

.dashboard-saas.sidebar-collapsed .nav-icon svg{
  width:20px;
  height:20px;
}

.dashboard-saas.sidebar-collapsed .nav-link{
  text-align:center;
  padding-left:10px;
  padding-right:10px;
}

/* ========================================================================
   TEAM PAGE V2
   ======================================================================== */

.dashboard-saas .team-v2-head{
  margin-bottom: 18px;
}

.dashboard-saas .team-v2-head h1{
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 750;
  color: #17181d;
}

.dashboard-saas .team-v2-grid{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:18px;
  align-items:start;
}

.dashboard-saas .team-v2-form-card,
.dashboard-saas .team-v2-list-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:16px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.04);
}

.dashboard-saas .team-v2-form-card{
  padding: 0;
  overflow:hidden;
  position:relative;
}

.dashboard-saas .team-v2-form-card::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#5a000d;
}

.dashboard-saas .team-v2-list-card{
  overflow:hidden;
}

.dashboard-saas .team-v2-card-head{
  padding: 20px 20px 16px;
}

.dashboard-saas .team-v2-card-head-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.dashboard-saas .team-v2-card-head h2{
  margin:0;
  font-size:18px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .team-v2-card-head p{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.6;
  color:#72767d;
}

.dashboard-saas .team-v2-form{
  padding: 0 20px 20px;
  display:grid;
  gap:16px;
}

.dashboard-saas .team-v2-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.dashboard-saas .team-v2-field label{
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#7c8087;
}

.dashboard-saas .team-v2-submit{
  width:100%;
  justify-content:center;
  margin-top:8px;
  min-height:48px;
  font-size:15px;
}

.dashboard-saas .team-v2-table-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

.dashboard-saas .team-v2-ghost-btn{
  min-height:40px;
  padding: 10px 16px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.08);
  background:#f7f7f6;
  color:#17181d;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
}

.dashboard-saas .team-v2-ghost-btn:hover{
  background:#f1f1ef;
}

.dashboard-saas .team-v2-table-wrap{
  overflow-x:auto;
}

.dashboard-saas .team-v2-table{
  width:100%;
  border-collapse:collapse;
}

.dashboard-saas .team-v2-table thead th{
  padding:14px 18px;
  text-align:left;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#858991;
  background:#fbfbfa;
  border-bottom:1px solid rgba(0,0,0,0.06);
  white-space:nowrap;
}

.dashboard-saas .team-v2-table tbody td{
  padding:18px;
  font-size:14px;
  line-height:1.5;
  color:#1d1e23;
  border-bottom:1px solid rgba(0,0,0,0.05);
  vertical-align:middle;
}

.dashboard-saas .team-v2-table tbody tr:last-child td{
  border-bottom:none;
}

.dashboard-saas .team-v2-person{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.dashboard-saas .team-v2-avatar{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#17181d;
  color:#ffffff;
  font-size:15px;
  font-weight:700;
  flex-shrink:0;
}

.dashboard-saas .team-v2-person-copy{
  min-width:0;
}

.dashboard-saas .team-v2-person-name{
  font-size:15px;
  line-height:1.3;
  font-weight:700;
  color:#17181d;
}

.dashboard-saas .team-v2-person-email{
  margin-top:4px;
  font-size:13px;
  line-height:1.5;
  color:#757980;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-saas .team-v2-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:600;
  color:#9b9da3;
}

.dashboard-saas .team-v2-status::before{
  content:'•';
  font-size:18px;
  line-height:1;
  color:#c7c9ce;
}

.dashboard-saas .team-v2-status.is-active{
  color:#16945a;
}

.dashboard-saas .team-v2-status.is-active::before{
  color:#16945a;
}

.dashboard-saas .team-v2-row-menu{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#8d9096;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.dashboard-saas .team-v2-row-menu:hover{
  color:#17181d;
}

@media (max-width: 1180px){
  .dashboard-saas .team-v2-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .team-v2-card-head-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .team-v2-table-actions{
    flex-wrap:wrap;
  }
}

/* ========================================================================
   GLOBAL TYPE TIGHTENING PASS
   ======================================================================== */

.dashboard-saas{
  font-size: 14px;
}

.dashboard-saas .dash-hero-copy h1{
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.dashboard-saas .dash-hero-copy p,
.dashboard-saas .projects-card-copy p,
.dashboard-saas .team-page-copy p,
.dashboard-saas .team-v2-card-head p{
  font-size: 13px;
  line-height: 1.55;
}

.dashboard-saas .dash-stat-kicker,
.dashboard-saas .projects-card-kicker,
.dashboard-saas .team-page-kicker{
  font-size: 11px;
  letter-spacing: 0.09em;
}

.dashboard-saas .dash-stat-number{
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.025em;
}

.dashboard-saas .dashboard-panel-title,
.dashboard-saas .projects-card-toolbar-title,
.dashboard-saas .team-v2-card-head h2,
.dashboard-saas .team-card-head h2{
  font-size: 16px;
  line-height: 1.2;
}

.dashboard-saas .project-row-title,
.dashboard-saas .project-grid-title{
  font-size: 17px;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

.dashboard-saas .dash-task-title{
  font-size: 14px;
  line-height: 1.35;
}

.dashboard-saas .dash-task-sub,
.dashboard-saas .stat-sub,
.dashboard-saas .project-grid-meta,
.dashboard-saas .project-row-meta,
.dashboard-saas .team-v2-person-email{
  font-size: 12px;
  line-height: 1.5;
}

.dashboard-saas .projects-card-copy h1,
.dashboard-saas .team-page-copy h1{
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.dashboard-saas .btn{
  font-size: 13px;
}

.dashboard-saas .nav-title{
  font-size: 14px;
}

.dashboard-saas .nav-label{
  font-size: 10px;
}

/* ========================================================================
   TASKS PAGE — light board pass
   ======================================================================== */

.dashboard-saas .tasks-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.dashboard-saas .tasks-page-copy{
  min-width:0;
}

.dashboard-saas .tasks-page-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.09em;
  color:#878b93;
  margin-bottom:10px;
}

.dashboard-saas .tasks-page-copy h1{
  margin:0;
  font-size:24px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .tasks-page-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6d7077;
  max-width:760px;
}

.dashboard-saas .tasks-page-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.dashboard-saas .tasks-view-chip{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.08);
  background:#f7f7f6;
  color:#6f737b;
  font-size:13px;
  font-weight:600;
}

.dashboard-saas .tasks-view-chip.active{
  background:#ffffff;
  color:#17181d;
}

.dashboard-saas .tasks-stat-row{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}

.dashboard-saas .tasks-empty-shell{
  margin-top:10px;
}

.dashboard-saas .tasks-board-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
  align-items:start;
}

.dashboard-saas .tasks-lane{
  background:#f7f7f6;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:18px;
  padding:14px;
  min-height:540px;
}

.dashboard-saas .tasks-lane-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.dashboard-saas .tasks-lane-title{
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .tasks-lane-count{
  min-width:26px;
  height:26px;
  padding:0 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ececeb;
  color:#666a72;
  font-size:12px;
  font-weight:700;
}

.dashboard-saas .tasks-lane-body{
  display:grid;
  gap:12px;
}

.dashboard-saas .tasks-lane-empty{
  border:1px dashed rgba(0,0,0,0.08);
  background:#fbfbfa;
  border-radius:14px;
  padding:16px;
  color:#7f838a;
  font-size:13px;
  line-height:1.6;
}

.dashboard-saas .task-card{
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.07);
  background:#ffffff;
  box-shadow:0 4px 12px rgba(0,0,0,0.03);
}

.dashboard-saas .task-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.dashboard-saas .task-priority-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
}

.dashboard-saas .task-priority-chip.priority-high{
  background:#fff0f0;
  color:#9a1c1c;
}

.dashboard-saas .task-priority-chip.priority-medium{
  background:#fff6ea;
  color:#9a5d12;
}

.dashboard-saas .task-priority-chip.priority-low{
  background:#eef7ff;
  color:#1f5f9e;
}

.dashboard-saas .task-priority-chip.priority-normal{
  background:#f2f2f1;
  color:#656970;
}

.dashboard-saas .task-project-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 9px;
  border-radius:999px;
  background:#f4f0f1;
  color:#6d5a5e;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:58%;
}

.dashboard-saas .task-card-title{
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:#17181d;
}

.dashboard-saas .task-card-sub{
  margin-top:8px;
  font-size:12px;
  line-height:1.55;
  color:#72767d;
}

.dashboard-saas .task-card-meta{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,0.06);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  color:#81858d;
}

@media (max-width: 1280px){
  .dashboard-saas .tasks-stat-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-saas .tasks-board-grid{
    grid-template-columns: 1fr;
  }

  .dashboard-saas .tasks-lane{
    min-height:auto;
  }
}

@media (max-width: 920px){
  .dashboard-saas .tasks-page-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .tasks-page-actions{
    flex-wrap:wrap;
  }
}

@media (max-width: 640px){
  .dashboard-saas .tasks-stat-row{
    grid-template-columns: 1fr;
  }
}

/* ========================================================================
   TASKS PAGE — overdue lane + history tabs
   ======================================================================== */

.dashboard-saas .task-card-overdue{
  border-color: rgba(176,0,32,0.10);
  background: #fffafb;
}

.dashboard-saas .tasks-history-shell{
  margin-top: 18px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 18px;
  padding: 18px;
}

.dashboard-saas .tasks-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.dashboard-saas .tasks-history-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .tasks-history-head p{
  margin:8px 0 0 0;
  font-size:12px;
  line-height:1.55;
  color:#72767d;
}

.dashboard-saas .tasks-history-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.dashboard-saas .tasks-history-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.08);
  background:#f7f7f6;
  color:#6e727a;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}

.dashboard-saas .tasks-history-tab span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#ececeb;
  font-size:11px;
  color:#555960;
}

.dashboard-saas .tasks-history-tab.is-active{
  background:#ffffff;
  color:#17181d;
}

.dashboard-saas .tasks-history-panel{
  display:none;
}

.dashboard-saas .tasks-history-panel.is-active{
  display:block;
}

.dashboard-saas .tasks-history-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .task-card-compact .task-card-title{
  font-size:13px;
}

@media (max-width: 1280px){
  .dashboard-saas .tasks-history-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px){
  .dashboard-saas .tasks-history-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .tasks-history-grid{
    grid-template-columns: 1fr;
  }
}

/* ========================================================================
   SIDEBAR — sticky viewport rail
   ======================================================================== */

.dashboard-saas .app-shell{
  align-items: flex-start;
}

.dashboard-saas .sidebar{
  position: sticky;
  top: 18px;
  align-self: flex-start;
  height: calc(100vh - 36px);
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.dashboard-saas .app-main{
  min-width: 0;
}

.dashboard-saas .sidebar::-webkit-scrollbar{
  width: 8px;
}

.dashboard-saas .sidebar::-webkit-scrollbar-track{
  background: transparent;
}

.dashboard-saas .sidebar::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.14);
  border-radius: 999px;
}

.dashboard-saas .sidebar::-webkit-scrollbar-thumb:hover{
  background: rgba(255,255,255,0.22);
}

@media (max-width: 920px){
  .dashboard-saas .sidebar{
    position: relative;
    top: 0;
    height: auto;
    max-height: none;
    overflow: visible;
  }
}

/* ========================================================================
   TASK CARD LINKS
   ======================================================================== */

.dashboard-saas .task-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dashboard-saas .task-card-link:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(0,0,0,0.05);
  text-decoration:none;
  color:inherit;
}

.dashboard-saas .task-card-link .task-card-title,
.dashboard-saas .task-card-link .task-card-sub,
.dashboard-saas .task-card-link .task-card-meta{
  color:inherit;
}

/* ========================================================================
   TASK DETAIL PAGE
   ======================================================================== */

.dashboard-saas .task-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.dashboard-saas .task-detail-head-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .task-detail-head-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6d7077;
  max-width:760px;
}

.dashboard-saas .task-detail-grid{
  display:grid;
  grid-template-columns: minmax(0, 1.5fr) 340px;
  gap:16px;
  align-items:start;
}

.dashboard-saas .task-detail-main,
.dashboard-saas .task-detail-side{
  display:grid;
  gap:16px;
}

.dashboard-saas .task-detail-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:18px;
  padding:18px;
}

.dashboard-saas .task-detail-top-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.dashboard-saas .task-detail-status-wrap{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.dashboard-saas .task-detail-meta-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .task-detail-meta-item{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.dashboard-saas .task-detail-meta-item span{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8d9096;
}

.dashboard-saas .task-detail-meta-item strong{
  font-size:14px;
  line-height:1.4;
  color:#17181d;
}

.dashboard-saas .task-detail-section-head{
  margin-bottom:12px;
}

.dashboard-saas .task-detail-section-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .task-detail-description{
  font-size:14px;
  line-height:1.7;
  color:#4f545b;
}

.dashboard-saas .task-detail-form{
  display:grid;
  gap:14px;
}

.dashboard-saas .task-detail-actions{
  display:grid;
  gap:10px;
}

.dashboard-saas .task-detail-full-btn{
  width:100%;
  justify-content:center;
}

.dashboard-saas .task-danger-btn{
  background:#fff4f5;
  border-color:rgba(176,0,32,0.12);
  color:#a3001d;
}

.dashboard-saas .task-danger-btn:hover{
  background:#ffecee;
}

@media (max-width: 1180px){
  .dashboard-saas .task-detail-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .task-detail-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .task-detail-meta-grid{
    grid-template-columns:1fr;
  }
}

/* ========================================================================
   TASK CREATE PAGE
   ======================================================================== */

.dashboard-saas .task-create-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.dashboard-saas .task-create-head-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .task-create-head-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6d7077;
  max-width:760px;
}

.dashboard-saas .task-create-grid{
  display:grid;
  grid-template-columns: minmax(0, 1.45fr) 360px;
  gap:16px;
  align-items:start;
}

.dashboard-saas .task-create-form-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:18px;
  padding:18px;
}

.dashboard-saas .task-create-form{
  display:grid;
  gap:14px;
}

.dashboard-saas .task-create-textarea{
  min-height: 140px;
  resize: vertical;
  border-radius: 16px;
}

.dashboard-saas .task-create-row{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .task-create-submit{
  width:100%;
  justify-content:center;
  margin-top:4px;
}

.dashboard-saas .task-create-side{
  display:grid;
  gap:16px;
}

.dashboard-saas .task-create-note-list{
  display:grid;
  gap:10px;
}

.dashboard-saas .task-create-note-item{
  padding:12px 14px;
  border-radius:12px;
  background:#f8f8f7;
  border:1px solid rgba(0,0,0,0.05);
  font-size:13px;
  line-height:1.55;
  color:#5d6269;
}

.dashboard-saas .task-create-project-list{
  display:grid;
  gap:10px;
}

.dashboard-saas .task-create-project-item{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:12px;
  background:#f8f8f7;
  border:1px solid rgba(0,0,0,0.05);
}

.dashboard-saas .task-create-project-item strong{
  font-size:14px;
  line-height:1.35;
  color:#17181d;
}

.dashboard-saas .task-create-project-item span{
  font-size:12px;
  line-height:1.5;
  color:#72767d;
}

@media (max-width: 1180px){
  .dashboard-saas .task-create-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .task-create-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .task-create-row{
    grid-template-columns: 1fr;
  }
}

/* ========================================================================
   PROJECT TEAM PAGE
   ======================================================================== */

.dashboard-saas .project-team-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.dashboard-saas .project-team-head-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .project-team-head-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6d7077;
  max-width:760px;
}

.dashboard-saas .project-team-grid{
  display:grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap:16px;
  align-items:start;
}

.dashboard-saas .project-team-form-card,
.dashboard-saas .project-team-list-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:18px;
  padding:18px;
}

.dashboard-saas .project-team-form{
  display:grid;
  gap:14px;
}

.dashboard-saas .project-team-form-row{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .project-team-submit{
  width:100%;
  justify-content:center;
  margin-top:4px;
}

.dashboard-saas .project-team-table-wrap{
  overflow-x:auto;
}

.dashboard-saas .project-team-table{
  width:100%;
  border-collapse:collapse;
}

.dashboard-saas .project-team-table thead th{
  padding:14px 14px;
  text-align:left;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8b8e95;
  background:#fbfbfa;
  border-bottom:1px solid rgba(0,0,0,0.06);
  white-space:nowrap;
}

.dashboard-saas .project-team-table tbody td{
  padding:16px 14px;
  font-size:14px;
  line-height:1.5;
  color:#1d1e23;
  border-bottom:1px solid rgba(0,0,0,0.05);
  vertical-align:middle;
}

.dashboard-saas .project-team-table tbody tr:last-child td{
  border-bottom:none;
}

.dashboard-saas .project-team-person{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.dashboard-saas .project-team-person-copy{
  min-width:0;
}

.dashboard-saas .project-team-person-name{
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:#17181d;
}

.dashboard-saas .project-team-person-email{
  margin-top:4px;
  font-size:12px;
  line-height:1.5;
  color:#72767d;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-saas .project-team-remove-btn{
  min-height:36px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(176,0,32,0.12);
  background:#fff5f6;
  color:#a3001d;
}

.dashboard-saas .project-team-remove-btn:hover{
  background:#ffecee;
}

@media (max-width: 1180px){
  .dashboard-saas .project-team-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .project-team-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .project-team-form-row{
    grid-template-columns: 1fr;
  }
}

/* ========================================================================
   PROJECT SHOW PAGE
   ======================================================================== */

.dashboard-saas .project-show-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.dashboard-saas .project-show-head-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .project-show-head-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6d7077;
}

.dashboard-saas .project-show-head-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.dashboard-saas .project-show-stat-row{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}

.dashboard-saas .project-show-stat-date{
  font-size:18px;
  line-height:1.15;
}

.dashboard-saas .project-show-grid{
  display:grid;
  grid-template-columns: minmax(0, 1.45fr) 360px;
  gap:16px;
  align-items:start;
}

.dashboard-saas .project-show-side{
  display:grid;
  gap:16px;
}

.dashboard-saas .project-show-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:18px;
  padding:18px;
}

.dashboard-saas .project-show-card-head{
  margin-bottom:14px;
}

.dashboard-saas .project-show-card-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .project-show-card-head p{
  margin:8px 0 0 0;
  font-size:12px;
  line-height:1.55;
  color:#72767d;
}

.dashboard-saas .project-show-link-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .project-show-link-card{
  display:block;
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.07);
  background:#fbfbfa;
  text-decoration:none;
  color:inherit;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dashboard-saas .project-show-link-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(0,0,0,0.05);
  border-color:rgba(0,0,0,0.10);
  text-decoration:none;
  color:inherit;
}

.dashboard-saas .project-show-link-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8b8e95;
  margin-bottom:8px;
}

.dashboard-saas .project-show-link-title{
  font-size:15px;
  line-height:1.3;
  font-weight:700;
  color:#17181d;
}

.dashboard-saas .project-show-link-copy{
  margin-top:8px;
  font-size:12px;
  line-height:1.55;
  color:#6d7077;
}

.dashboard-saas .project-show-kv-list{
  display:grid;
  gap:12px;
}

.dashboard-saas .project-show-kv-item{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.dashboard-saas .project-show-kv-item:last-child{
  padding-bottom:0;
  border-bottom:none;
}

.dashboard-saas .project-show-kv-item span{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8d9096;
}

.dashboard-saas .project-show-kv-item strong{
  font-size:14px;
  line-height:1.45;
  color:#17181d;
}

.dashboard-saas .project-show-next-step{
  padding:14px 16px;
  border-radius:14px;
  background:#f8f8f7;
  border:1px solid rgba(0,0,0,0.05);
  font-size:13px;
  line-height:1.6;
  color:#5f646b;
}

@media (max-width: 1280px){
  .dashboard-saas .project-show-stat-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-saas .project-show-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .project-show-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .project-show-link-grid{
    grid-template-columns: 1fr;
  }

  .dashboard-saas .project-show-stat-row{
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   DASHBOARD / SIDEBAR FINAL PASS
   ========================================================================== */

.db2-shell{
  min-height: 100vh;
  display: flex;
  background:
    radial-gradient(1100px 420px at 72% 0%, rgba(255,255,255,0.08), transparent 60%),
    linear-gradient(180deg, #6e0312 0%, #54000d 100%);
}

/* ---------- sidebar ---------- */

.db2-sidebar{
  width: 270px;
  min-height: 100vh;
  padding: 24px 18px 20px;
  display: flex;
  flex-direction: column;
  color: #fff;
}

.db2-sidebar-brand{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 34px;
}

.db2-brand-mark{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  text-decoration: none;
  color: #fff;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 13px;
  flex: 0 0 auto;
}

.db2-brand-copy{
  min-width: 0;
}

.db2-brand-name{
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
  color: #ffffff;
}

.db2-brand-tag{
  margin-top: 8px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.16em;
  color: rgba(255,255,255,0.68);
}

.db2-sidebar-nav{
  display: grid;
  gap: 8px;
}

.db2-nav-item{
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 56px;
  padding: 0 18px;
  border-radius: 16px;
  text-decoration: none;
  color: rgba(255,255,255,0.88);
  transition: background .14s ease, color .14s ease;
}

.db2-nav-item:hover{
  background: rgba(255,255,255,0.05);
  color: #fff;
  text-decoration: none;
}

.db2-nav-item.active{
  background: rgba(255,255,255,0.09);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10);
}

.db2-nav-item.active::after{
  content: "";
  position: absolute;
  right: 12px;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
}

.db2-nav-icon{
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}

.db2-nav-icon svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.db2-nav-label{
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
}

.db2-sidebar-footer{
  margin-top: auto;
  padding-top: 28px;
}

.db2-sidebar-cta{
  min-height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: linear-gradient(180deg, #8a0014 0%, #690010 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  box-shadow: 0 12px 22px rgba(48,0,8,0.24);
}

.db2-sidebar-cta:hover{
  color: #fff;
  text-decoration: none;
}

/* hide old sidebar bits */
.db2-sidebar .burger,
.db2-sidebar .brand-name,
.db2-sidebar .nav-section,
.db2-sidebar .nav-label,
.db2-sidebar .nav-item,
.db2-sidebar .nav-link{
  display: none !important;
}

/* ---------- main area ---------- */

.db2-main{
  flex: 1;
  min-width: 0;
  padding: 18px 18px 18px 0;
}

.db2-topbar{
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 4px 16px;
}

.db2-search-wrap{
  position: relative;
  width: 560px;
  max-width: 100%;
}

.db2-search-ico{
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  font-size: 14px;
  color: #8a8f98;
}

.db2-search{
  width: 100%;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.95);
  padding: 0 16px 0 38px;
  font-size: 14px;
  color: #1a1b20;
  outline: none;
}

.db2-topbar-right{
  display: flex;
  align-items: center;
  gap: 12px;
}

.db2-topicon{
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: rgba(255,255,255,0.92);
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 15px;
  border-radius: 999px;
}

.db2-topbar-divider{
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.20);
  margin: 0 2px;
}

.db2-user{
  display: flex;
  align-items: center;
  gap: 10px;
}

.db2-user-role{
  font-size: 13px;
  color: rgba(255,255,255,0.80);
}

.db2-user-name{
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.db2-user-avatar{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  color: #5d0011;
}

.db2-user-avatar:hover{
  text-decoration: none;
}

/* ---------- surface ---------- */

.db2-surface{
  background: #f7f6f4 !important;
  border-radius: 34px !important;
  min-height: calc(100vh - 92px) !important;
  margin: 0 !important;
  padding: 34px 34px 28px !important;
  box-shadow: 0 22px 40px rgba(17,24,39,0.08) !important;
}

/* ---------- hero ---------- */

.db2-hero{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 28px;
}

.db2-hero-copy h1{
  margin: 0;
  font-size: 58px;
  line-height: 0.95;
  letter-spacing: -0.045em;
  font-weight: 800;
  color: #330612;
}

.db2-hero-copy p{
  margin: 14px 0 0 0;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 1.45;
  color: #4d5159;
}

.db2-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #6fd1b1;
  flex: 0 0 auto;
}

.db2-hero-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.db2-btn-primary{
  min-height: 46px;
  padding: 0 24px;
  border-radius: 10px;
  background: #7a0012;
  border-color: #7a0012;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 18px rgba(122,0,18,0.16);
}

.db2-btn-primary:hover{
  color: #fff;
  text-decoration: none;
}

.db2-btn-secondary{
  min-height: 46px;
  padding: 0 24px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(17,24,39,0.08);
  color: #1b1d22;
  font-size: 14px;
  font-weight: 600;
}

/* ---------- kpis ---------- */

.db2-kpis{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 26px;
}

.db2-kpi-card{
  background: #fff;
  border: 1px solid rgba(17,24,39,0.07);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 8px 20px rgba(17,24,39,0.04);
}

.db2-kpi-label{
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #8a8f97;
}

.db2-kpi-body{
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.db2-kpi-value{
  font-size: 58px;
  line-height: 0.95;
  letter-spacing: -0.05em;
  font-weight: 800;
  color: #17181d;
}

.db2-kpi-sub{
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.4;
  color: #6a7078;
}

.db2-kpi-icon{
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: #fbefef;
  display: grid;
  place-items: center;
  font-size: 22px;
  color: #5d0011;
}

/* ---------- content grid ---------- */

.db2-content-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) 320px;
  gap: 22px;
  align-items: start;
}

.db2-projects-panel,
.db2-tasks-panel{
  background: #fff;
  border: 1px solid rgba(17,24,39,0.07);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 8px 20px rgba(17,24,39,0.04);
}

.db2-section-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.db2-section-head h2{
  margin: 0;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
  color: #17181d;
}

.db2-section-head a{
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  color: #202329;
}

/* ---------- projects ---------- */

.db2-project-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.db2-project-card{
  display: block;
  min-height: 260px;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(17,24,39,0.07);
  text-decoration: none;
  color: inherit;
  transition: transform .14s ease, box-shadow .14s ease;
}

.db2-project-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(17,24,39,0.05);
  text-decoration: none;
  color: inherit;
}

.db2-project-top{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.db2-project-pill{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f8eded;
  color: #6a5760;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  max-width: 72%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.db2-project-menu{
  color: #c7cdd5;
  font-size: 16px;
}

.db2-project-title{
  margin-top: 22px;
  font-size: 23px;
  line-height: 1.08;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: #17181d;
}

.db2-project-loc{
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #575c64;
  font-size: 14px;
}

.db2-project-loc-dot{
  font-size: 12px;
  color: #57000f;
}

.db2-project-progress-row{
  margin-top: 28px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  font-size: 14px;
  color: #43484f;
}

.db2-project-progress-row strong{
  font-size: 18px;
  color: #320510;
}

.db2-project-progress{
  margin-top: 10px;
  height: 6px;
  border-radius: 999px;
  background: #ececf0;
  overflow: hidden;
}

.db2-project-progress > div{
  height: 100%;
  background: linear-gradient(90deg, #64000f 0%, #8b0a1c 100%);
  border-radius: 999px;
}

.db2-project-foot{
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
}

.db2-project-avatars{
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f2f3f5;
  color: #2a313a;
  font-size: 12px;
}

.db2-project-guests{
  text-align: right;
}

.db2-project-guests-label{
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.14em;
  color: #8b9098;
}

.db2-project-guests-value{
  margin-top: 8px;
  font-size: 19px;
  line-height: 1;
  font-weight: 700;
  color: #17181d;
}

/* ---------- recent tasks ---------- */

.db2-section-head--tasks{
  margin-bottom: 16px;
}

.db2-task-count{
  font-size: 12px;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #64000f;
}

.db2-task-list{
  display: grid;
  gap: 14px;
}

.db2-task-item{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}

.db2-task-item:hover{
  text-decoration: none;
  color: inherit;
}

.db2-task-check{
  width: 20px;
  height: 20px;
  margin-top: 2px;
  border-radius: 4px;
  border: 1px solid rgba(17,24,39,0.12);
  background: #fff;
  display: grid;
  place-items: center;
  color: #5b0010;
  font-size: 12px;
  flex: 0 0 auto;
}

.db2-task-check.is-complete{
  background: #5b0010;
  border-color: #5b0010;
  color: #fff;
}

.db2-task-main{
  min-width: 0;
  flex: 1;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(17,24,39,0.07);
}

.db2-task-item:last-child .db2-task-main{
  border-bottom: none;
  padding-bottom: 0;
}

.db2-task-title-row{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.db2-task-title{
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
  color: #17181d;
}

.db2-task-desc{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: #666c75;
}

.db2-task-meta{
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  line-height: 1.4;
  color: #8a9098;
}

.db2-priority,
.db2-priority--high,
.db2-priority--medium,
.db2-priority--low{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 8px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.db2-priority--high{
  background: #f8dddd;
  color: #a93b48;
}

.db2-priority--medium{
  background: #f7ead0;
  color: #9c6516;
}

.db2-priority--low{
  background: #dcebfb;
  color: #2461a2;
}

/* ---------- empty ---------- */

.db2-empty{
  min-height: 220px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #727880;
}

.db2-empty-icon{
  font-size: 28px;
}

.db2-empty-title{
  margin-top: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #30343a;
}

.db2-empty-copy{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.5;
}

.db2-empty--tasks{
  min-height: 360px;
}

/* ---------- responsive ---------- */

@media (max-width: 1220px){
  .db2-content-grid{
    grid-template-columns: 1fr;
  }

  .db2-project-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px){
  .db2-shell{
    display: block;
  }

  .db2-sidebar{
    width: 100%;
    min-height: auto;
  }

  .db2-main{
    padding: 0 14px 14px;
  }

  .db2-topbar,
  .db2-hero{
    flex-direction: column;
    align-items: flex-start;
  }

  .db2-search-wrap{
    width: 100%;
  }

  .db2-kpis{
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   PROJECTS INDEX PAGE
   ========================================================================== */

.projects-index-page .app-main{
  flex: 1;
  min-width: 0;
}

.projects-index-page .projects-v2-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 22px 0 22px;
}

.projects-index-page .projects-v2-search-wrap{
  position:relative;
  width:640px;
  max-width:100%;
}

.projects-index-page .projects-v2-search-icon{
  position:absolute;
  top:50%;
  left:15px;
  transform:translateY(-50%);
  font-size:14px;
  color:#8b9098;
}

.projects-index-page .projects-v2-search{
  width:100%;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  padding:0 16px 0 38px;
  font-size:14px;
  color:#1a1b20;
  outline:none;
}

.projects-index-page .projects-v2-search::placeholder{
  color:#8b9098;
}

.projects-index-page .projects-v2-topbar-right{
  display:flex;
  align-items:center;
  gap:12px;
}

.projects-index-page .projects-v2-user-meta{
  display:flex;
  align-items:center;
  gap:10px;
}

.projects-index-page .projects-v2-role-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  font-size:12px;
  font-weight:600;
  color:#7e848d;
}

.projects-index-page .projects-v2-user-name{
  font-size:14px;
  font-weight:700;
  color:#17181d;
}

.projects-index-page .projects-v2-avatar{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.08);
  text-decoration:none;
  color:#5a0010;
}

.projects-index-page .projects-v2-surface{
  margin-top:16px;
}

.projects-index-page .projects-v2-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}

.projects-index-page .projects-v2-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8a9098;
  margin-bottom:10px;
}

.projects-index-page .projects-v2-head-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.projects-index-page .projects-v2-head-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6f7681;
}

.projects-index-page .projects-v2-head-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.projects-index-page .projects-v2-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.projects-index-page .projects-v2-section-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.projects-index-page .projects-v2-count{
  font-size:13px;
  line-height:1.4;
  color:#7a8088;
}

.projects-index-page .projects-v2-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.projects-index-page .projects-v2-card{
  display:block;
  min-height:280px;
  padding:18px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  text-decoration:none;
  color:inherit;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.projects-index-page .projects-v2-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(17,24,39,0.06);
  border-color:rgba(17,24,39,0.10);
  text-decoration:none;
  color:inherit;
}

.projects-index-page .projects-v2-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.projects-index-page .projects-v2-type-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f8edef;
  color:#6f5d65;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  max-width:72%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.projects-index-page .projects-v2-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  color:#4c5058;
  font-size:12px;
  line-height:1;
  font-weight:600;
}

.projects-index-page .projects-v2-card-title{
  margin-top:24px;
  font-size:22px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#17181d;
}

.projects-index-page .projects-v2-card-meta{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  line-height:1.45;
  color:#727880;
}

.projects-index-page .projects-v2-progress-row{
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
  color:#43484f;
}

.projects-index-page .projects-v2-progress-row strong{
  font-size:18px;
  line-height:1;
  font-weight:700;
  color:#330611;
}

.projects-index-page .projects-v2-progress-track{
  margin-top:10px;
  height:6px;
  border-radius:999px;
  background:#ececf0;
  overflow:hidden;
}

.projects-index-page .projects-v2-progress-bar{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #64000f 0%, #8b0a1c 100%);
}

.projects-index-page .projects-v2-card-footer{
  margin-top:32px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.projects-index-page .projects-v2-footer-block{
  min-width:0;
}

.projects-index-page .projects-v2-footer-label{
  font-size:11px;
  line-height:1;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#8a9098;
}

.projects-index-page .projects-v2-footer-value{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
  color:#17181d;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:160px;
}

.projects-index-page .projects-v2-open-link{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#7c8088;
}

.projects-index-page .projects-v2-open-arrow{
  font-size:16px;
  color:#1f2228;
}

.projects-index-page .projects-v2-empty{
  min-height:320px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  display:grid;
  place-items:center;
  text-align:center;
  padding:28px;
}

.projects-index-page .projects-v2-empty-icon{
  font-size:30px;
}

.projects-index-page .projects-v2-empty-title{
  margin-top:10px;
  font-size:18px;
  font-weight:800;
  color:#2d3138;
}

.projects-index-page .projects-v2-empty-copy{
  margin-top:8px;
  font-size:13px;
  line-height:1.55;
  color:#6f7681;
}

.projects-index-page .projects-v2-empty-action{
  margin-top:16px;
}

@media (max-width: 1400px){
  .projects-index-page .projects-v2-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px){
  .projects-index-page .projects-v2-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px){
  .projects-index-page .projects-v2-topbar,
  .projects-index-page .projects-v2-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .projects-index-page .projects-v2-search-wrap{
    width:100%;
  }

  .projects-index-page .projects-v2-grid{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================
   PROJECTS INDEX — aligned to current dashboard system
   ========================================================================== */

.dashboard-saas .projects-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}

.dashboard-saas .projects-page-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .projects-page-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6f7681;
}

.dashboard-saas .projects-page-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

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

.dashboard-saas .projects-section-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .projects-section-count{
  font-size:13px;
  line-height:1.4;
  color:#7a8088;
}

.dashboard-saas .projects-card-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.dashboard-saas .projects-workspace-card{
  display:block;
  min-height:280px;
  padding:18px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  text-decoration:none;
  color:inherit;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dashboard-saas .projects-workspace-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(17,24,39,0.06);
  border-color:rgba(17,24,39,0.10);
  text-decoration:none;
  color:inherit;
}

.dashboard-saas .projects-workspace-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.dashboard-saas .projects-workspace-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f8edef;
  color:#6f5d65;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  max-width:70%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-saas .projects-workspace-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  color:#4c5058;
  font-size:12px;
  line-height:1;
  font-weight:600;
}

.dashboard-saas .projects-workspace-title{
  margin-top:24px;
  font-size:22px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#17181d;
}

.dashboard-saas .projects-workspace-meta{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  line-height:1.45;
  color:#727880;
}

.dashboard-saas .projects-workspace-progress-row{
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
  color:#43484f;
}

.dashboard-saas .projects-workspace-progress-row strong{
  font-size:18px;
  line-height:1;
  font-weight:700;
  color:#330611;
}

.dashboard-saas .projects-workspace-progress{
  margin-top:10px;
  height:6px;
  border-radius:999px;
  background:#ececf0;
  overflow:hidden;
}

.dashboard-saas .projects-workspace-progress > div{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #64000f 0%, #8b0a1c 100%);
}

.dashboard-saas .projects-workspace-footer{
  margin-top:32px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.dashboard-saas .projects-workspace-footer-block{
  min-width:0;
}

.dashboard-saas .projects-workspace-footer-label{
  font-size:11px;
  line-height:1;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#8a9098;
}

.dashboard-saas .projects-workspace-footer-value{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
  color:#17181d;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:150px;
}

.dashboard-saas .projects-workspace-open{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#7c8088;
  text-align:right;
}

.dashboard-saas .projects-workspace-open-arrow{
  font-size:16px;
  color:#1f2228;
}

.dashboard-saas .projects-empty-card{
  min-height:320px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  display:grid;
  place-items:center;
  text-align:center;
  padding:28px;
}

.dashboard-saas .projects-empty-icon{
  font-size:30px;
}

.dashboard-saas .projects-empty-title{
  margin-top:10px;
  font-size:18px;
  font-weight:800;
  color:#2d3138;
}

.dashboard-saas .projects-empty-copy{
  margin-top:8px;
  font-size:13px;
  line-height:1.55;
  color:#6f7681;
}

.dashboard-saas .projects-empty-action{
  margin-top:16px;
}

@media (max-width: 1400px){
  .dashboard-saas .projects-card-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px){
  .dashboard-saas .projects-card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px){
  .dashboard-saas .projects-page-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .projects-card-grid{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================
   TASKS INDEX — aligned to current dashboard system
   ========================================================================== */

.dashboard-saas .tasks-board-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}

.dashboard-saas .tasks-board-head-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .tasks-board-head-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6f7681;
}

.dashboard-saas .tasks-board-head-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.dashboard-saas .tasks-board-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin-bottom:24px;
}

.dashboard-saas .tasks-board-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:start;
}

.dashboard-saas .tasks-board-lane{
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  border-radius:22px;
  padding:18px;
  min-height:520px;
}

.dashboard-saas .tasks-board-lane-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.dashboard-saas .tasks-board-lane-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .tasks-board-lane-head span{
  min-width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f2f3f5;
  font-size:12px;
  font-weight:700;
  color:#5b6068;
}

.dashboard-saas .tasks-board-lane-body{
  display:grid;
  gap:14px;
}

.dashboard-saas .tasks-board-card{
  display:block;
  padding:16px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 6px 16px rgba(17,24,39,0.03);
  text-decoration:none;
  color:inherit;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dashboard-saas .tasks-board-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(17,24,39,0.06);
  border-color:rgba(17,24,39,0.10);
  text-decoration:none;
  color:inherit;
}

.dashboard-saas .tasks-board-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.dashboard-saas .tasks-board-priority{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.06em;
}

.dashboard-saas .tasks-board-priority--high{
  background:#f8dddd;
  color:#a93b48;
}

.dashboard-saas .tasks-board-priority--medium{
  background:#f7ead0;
  color:#9c6516;
}

.dashboard-saas .tasks-board-priority--low{
  background:#dcebfb;
  color:#2461a2;
}

.dashboard-saas .tasks-board-card-project{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#f6f0f2;
  color:#6e5b64;
  font-size:11px;
  line-height:1;
  font-weight:700;
  max-width:62%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-saas .tasks-board-card-title{
  margin-top:18px;
  font-size:18px;
  line-height:1.18;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#17181d;
}

.dashboard-saas .tasks-board-card-desc{
  margin-top:10px;
  font-size:13px;
  line-height:1.55;
  color:#666d76;
}

.dashboard-saas .tasks-board-card-meta{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:12px;
  line-height:1.45;
  color:#858b93;
}

.dashboard-saas .tasks-board-card-foot{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:14px;
  border-top:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .tasks-board-card-assignee{
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  color:#252930;
}

.dashboard-saas .tasks-board-card-open{
  font-size:12px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:#7a7f88;
}

.dashboard-saas .tasks-board-empty{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
  border-radius:16px;
  background:#fbfbfa;
  border:1px solid rgba(17,24,39,0.06);
  font-size:13px;
  line-height:1.55;
  color:#727880;
}

.dashboard-saas .tasks-board-history{
  margin-top:24px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  border-radius:22px;
  padding:20px;
}

.dashboard-saas .tasks-board-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.dashboard-saas .tasks-board-history-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .tasks-board-history-head p{
  margin:8px 0 0 0;
  font-size:12px;
  line-height:1.55;
  color:#757b84;
}

.dashboard-saas .tasks-board-history-tabs{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.dashboard-saas .tasks-board-history-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  font-size:12px;
  line-height:1;
  font-weight:700;
  color:#646a73;
}

.dashboard-saas .tasks-board-history-tab strong{
  color:#17181d;
}

.dashboard-saas .tasks-board-history-tab.is-active{
  background:#f8f6f6;
  color:#17181d;
}

.dashboard-saas .tasks-board-history-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

@media (max-width: 1280px){
  .dashboard-saas .tasks-board-stats{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .dashboard-saas .tasks-board-grid{
    grid-template-columns:1fr;
  }

  .dashboard-saas .tasks-board-history-list{
    grid-template-columns:1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .tasks-board-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .tasks-board-stats{
    grid-template-columns:1fr;
  }

  .dashboard-saas .tasks-board-history-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ==========================================================================
   PROJECT SHOW / PROJECT SIDEBAR
   ========================================================================== */

.dashboard-saas .project-workspace-surface{
  padding-bottom:28px;
}

.dashboard-saas .project-workspace-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.dashboard-saas .project-workspace-head-copy h1{
  margin:0;
  font-size:22px;
  line-height:1.08;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#15161a;
}

.dashboard-saas .project-workspace-head-copy p{
  margin:10px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6f7681;
}

.dashboard-saas .project-workspace-head-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.dashboard-saas .project-workspace-grid{
  display:grid;
  grid-template-columns:320px minmax(0, 1.2fr) 320px;
  gap:18px;
  align-items:start;
}

.dashboard-saas .project-workspace-main,
.dashboard-saas .project-workspace-sidepanel{
  display:grid;
  gap:18px;
}

.dashboard-saas .project-workspace-card{
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  border-radius:22px;
  padding:20px;
}

.dashboard-saas .project-workspace-card-head{
  margin-bottom:16px;
}

.dashboard-saas .project-workspace-card-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:750;
  color:#17181d;
}

.dashboard-saas .project-workspace-card-head p{
  margin:8px 0 0 0;
  font-size:12px;
  line-height:1.55;
  color:#727880;
}

.dashboard-saas .project-overview-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .project-overview-stat{
  padding:16px;
  border-radius:18px;
  background:#fbfbfa;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .project-overview-stat-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8a9098;
  margin-bottom:10px;
}

.dashboard-saas .project-overview-stat-number{
  font-size:18px;
  line-height:1.05;
  font-weight:760;
  letter-spacing:-0.02em;
  color:#17181d;
}

.dashboard-saas .project-overview-stat-copy{
  margin-top:8px;
  font-size:12px;
  line-height:1.55;
  color:#6f7681;
}

.dashboard-saas .project-workspace-link-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .project-workspace-link-card{
  display:block;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(17,24,39,0.07);
  background:#fbfbfa;
  text-decoration:none;
  color:inherit;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.dashboard-saas .project-workspace-link-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(17,24,39,0.05);
  border-color:rgba(17,24,39,0.10);
  text-decoration:none;
  color:inherit;
}

.dashboard-saas .project-workspace-link-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8a9098;
  margin-bottom:8px;
}

.dashboard-saas .project-workspace-link-title{
  font-size:15px;
  line-height:1.28;
  font-weight:740;
  color:#17181d;
}

.dashboard-saas .project-workspace-link-copy{
  margin-top:8px;
  font-size:12px;
  line-height:1.55;
  color:#6f7681;
}

.dashboard-saas .project-workspace-kv-list{
  display:grid;
  gap:12px;
}

.dashboard-saas .project-workspace-kv-item{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .project-workspace-kv-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.dashboard-saas .project-workspace-kv-item span{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8a9098;
}

.dashboard-saas .project-workspace-kv-item strong{
  font-size:14px;
  line-height:1.42;
  font-weight:700;
  color:#17181d;
}

.dashboard-saas .project-workspace-next-step,
.dashboard-saas .project-workspace-empty,
.dashboard-saas .project-workspace-fallback{
  padding:14px 16px;
  border-radius:16px;
  background:#fbfbfa;
  border:1px solid rgba(17,24,39,0.06);
  font-size:13px;
  line-height:1.6;
  color:#666d77;
}

.dashboard-saas .project-workspace-updates{
  display:grid;
  gap:12px;
}

.dashboard-saas .project-workspace-update-item{
  padding:14px 16px;
  border-radius:16px;
  background:#fbfbfa;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .project-workspace-update-summary{
  font-size:13px;
  line-height:1.55;
  color:#17181d;
}

.dashboard-saas .project-workspace-update-meta{
  margin-top:6px;
  font-size:11px;
  line-height:1.45;
  color:#7c818a;
}

/* project sidebar */

.dashboard-saas .project-nav--v2{
  display:grid;
  gap:14px;
}

.dashboard-saas .project-nav-stack{
  display:grid;
  gap:12px;
}

.dashboard-saas .project-nav-group{
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
}

.dashboard-saas .project-nav-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  width:100%;
  text-decoration:none;
  color:inherit;
}

.dashboard-saas .project-nav-item:hover{
  text-decoration:none;
  color:inherit;
}

.dashboard-saas .project-nav-item--card{
  padding:14px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
}

.dashboard-saas .project-nav-item--card:hover{
  transform:translateY(-1px);
}

.dashboard-saas .project-nav-item--row{
  padding:14px;
  background:#ffffff;
  border-bottom:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .project-nav-item--row:last-child{
  border-bottom:none;
}

.dashboard-saas .project-nav-item.is-active{
  background:#faf6f7;
}

.dashboard-saas .project-nav-ico{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f6f2f3;
  font-size:15px;
}

.dashboard-saas .project-nav-text{
  flex:1;
  min-width:0;
}

.dashboard-saas .project-nav-title{
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  color:#17181d;
}

.dashboard-saas .project-nav-sub{
  margin-top:4px;
  font-size:12px;
  line-height:1.5;
  color:#6f7681;
}

.dashboard-saas .project-nav-arrow{
  color:#9aa0a8;
  font-size:18px;
  line-height:1;
  margin-top:3px;
}

@media (max-width: 1380px){
  .dashboard-saas .project-workspace-grid{
    grid-template-columns:320px minmax(0, 1fr);
  }

  .dashboard-saas .project-workspace-sidepanel{
    grid-column:1 / -1;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px){
  .dashboard-saas .project-workspace-grid{
    grid-template-columns:1fr;
  }

  .dashboard-saas .project-workspace-sidepanel{
    grid-template-columns:1fr;
  }
}

@media (max-width: 920px){
  .dashboard-saas .project-workspace-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .project-overview-grid,
  .dashboard-saas .project-workspace-link-grid{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================
   PROJECT SHOW — analytics pass
   ========================================================================== */

.dashboard-saas .project-analytics-hero-grid{
  display:grid;
  grid-template-columns: 1fr 240px 220px;
  gap:18px;
  align-items:center;
}

.dashboard-saas .project-analytics-summary{
  display:grid;
  gap:16px;
}

.dashboard-saas .project-analytics-legend{
  display:grid;
  gap:12px;
}

.dashboard-saas .project-analytics-legend-item{
  display:grid;
  grid-template-columns: 12px 1fr auto;
  align-items:center;
  gap:10px;
  font-size:14px;
  line-height:1.3;
  color:#4f5560;
}

.dashboard-saas .project-analytics-legend-item strong{
  font-size:16px;
  font-weight:760;
  color:#17181d;
}

.dashboard-saas .project-analytics-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  display:block;
}

.dashboard-saas .project-analytics-dot.is-attending{
  background:#5b0412;
}

.dashboard-saas .project-analytics-dot.is-pending{
  background:#a46f78;
}

.dashboard-saas .project-analytics-dot.is-declined{
  background:#ead6da;
}

.dashboard-saas .project-analytics-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.dashboard-saas .project-analytics-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:#f6f0f2;
  color:#5f646d;
  font-size:12px;
  font-weight:700;
}

.dashboard-saas .project-analytics-donut-wrap{
  display:flex;
  justify-content:center;
}

.dashboard-saas .project-analytics-donut{
  width:210px;
  height:210px;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
}

.dashboard-saas .project-analytics-donut::after{
  content:"";
  position:absolute;
  inset:24px;
  border-radius:50%;
  background:#ffffff;
  box-shadow: inset 0 0 0 1px rgba(17,24,39,0.04);
}

.dashboard-saas .project-analytics-donut-center{
  position:relative;
  z-index:2;
  text-align:center;
}

.dashboard-saas .project-analytics-donut-value{
  font-size:36px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.04em;
  color:#17181d;
}

.dashboard-saas .project-analytics-donut-label{
  margin-top:8px;
  font-size:12px;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8c9098;
}

.dashboard-saas .project-analytics-kpis{
  display:grid;
  gap:12px;
}

.dashboard-saas .project-analytics-kpi{
  padding:14px 16px;
  border-radius:16px;
  background:#fbfbfa;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .project-analytics-kpi-label{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8d9096;
  margin-bottom:8px;
}

.dashboard-saas .project-analytics-kpi-value{
  font-size:24px;
  line-height:1;
  font-weight:760;
  color:#17181d;
}

.dashboard-saas .project-analytics-two-col{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:18px;
}

.dashboard-saas .project-analytics-bars{
  display:grid;
  gap:16px;
  margin-bottom:18px;
}

.dashboard-saas .project-analytics-bar-row{
  display:grid;
  gap:8px;
}

.dashboard-saas .project-analytics-bar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  color:#555b65;
}

.dashboard-saas .project-analytics-bar-head strong{
  font-size:14px;
  font-weight:760;
  color:#17181d;
}

.dashboard-saas .project-analytics-bar-track{
  height:8px;
  border-radius:999px;
  background:#ececf0;
  overflow:hidden;
}

.dashboard-saas .project-analytics-bar-track > div{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #64000f 0%, #8b0a1c 100%);
}

.dashboard-saas .project-analytics-bar-track.is-dark > div{
  background:linear-gradient(90deg, #4f020f 0%, #730818 100%);
}

.dashboard-saas .project-analytics-bar-track.is-soft > div{
  background:linear-gradient(90deg, #a46f78 0%, #c39ba2 100%);
}

.dashboard-saas .project-analytics-micro-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}

.dashboard-saas .project-analytics-micro{
  padding:14px 16px;
  border-radius:16px;
  background:#fbfbfa;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .project-analytics-micro-label{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8d9096;
  margin-bottom:8px;
}

.dashboard-saas .project-analytics-micro-value{
  font-size:24px;
  line-height:1;
  font-weight:760;
  color:#17181d;
}

.dashboard-saas .project-analytics-micro-sub{
  margin-top:8px;
  font-size:12px;
  line-height:1.55;
  color:#6b717a;
}

.dashboard-saas .project-ops-tiles{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-bottom:18px;
}

.dashboard-saas .project-ops-tile{
  padding:14px 16px;
  border-radius:16px;
  background:#fbfbfa;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .project-ops-tile-label{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#8d9096;
  margin-bottom:8px;
}

.dashboard-saas .project-ops-tile-value{
  font-size:28px;
  line-height:1;
  font-weight:780;
  color:#17181d;
}

.dashboard-saas .project-ops-tile-sub{
  margin-top:8px;
  font-size:12px;
  line-height:1.5;
  color:#6b717a;
}

.dashboard-saas .project-ops-progress-list{
  display:grid;
  gap:14px;
}

.dashboard-saas .project-ops-progress-item{
  display:grid;
  gap:8px;
}

.dashboard-saas .project-ops-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  color:#555b65;
}

.dashboard-saas .project-ops-progress-head strong{
  font-size:14px;
  font-weight:760;
  color:#17181d;
}

@media (max-width: 1480px){
  .dashboard-saas .project-analytics-hero-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px){
  .dashboard-saas .project-analytics-two-col{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
  .dashboard-saas .project-analytics-micro-grid,
  .dashboard-saas .project-ops-tiles{
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   PROJECT DASHBOARD — infographic polish pass
   ========================================================================== */

.dashboard-saas .project-workspace-grid{
  display:grid;
  grid-template-columns:320px minmax(0, 1fr) 320px;
  gap:18px;
  align-items:start;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
  grid-template-columns:88px minmax(0, 1fr) 320px;
}

.dashboard-saas .project-workspace-sidebar{
  position:relative;
}

.dashboard-saas .project-sidebar-toggle{
  position:absolute;
  top:8px;
  right:-12px;
  z-index:5;
  width:28px;
  height:28px;
  border:none;
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 8px 18px rgba(17,24,39,0.12);
  color:#4d5560;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-text,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-arrow,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-steps{
  display:none;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item{
  justify-content:center;
  align-items:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--card,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  padding:14px 10px;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-group{
  overflow:visible;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-ico{
  width:38px;
  height:38px;
  flex:0 0 38px;
}

.dashboard-saas .project-workspace-main,
.dashboard-saas .project-workspace-sidepanel{
  display:grid;
  gap:18px;
}

.dashboard-saas .project-workspace-card{
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.04);
  border-radius:22px;
  padding:20px;
}

.dashboard-saas .project-workspace-card-head{
  margin-bottom:16px;
}

.dashboard-saas .project-workspace-card-head h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:760;
  color:#17181d;
}

.dashboard-saas .project-workspace-card-head p{
  margin:8px 0 0 0;
  font-size:12px;
  line-height:1.55;
  color:#727880;
}

/* RSVP hero */
.dashboard-saas .project-rsvp-hero{
  display:grid;
  grid-template-columns:260px minmax(0, 1fr);
  gap:22px;
  align-items:center;
}

.dashboard-saas .project-rsvp-donut-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}

.dashboard-saas .project-rsvp-donut{
  width:220px;
  height:220px;
  border-radius:50%;
  display:grid;
  place-items:center;
}

.dashboard-saas .project-rsvp-donut-hole{
  width:146px;
  height:146px;
  border-radius:50%;
  background:#ffffff;
  box-shadow:inset 0 0 0 1px rgba(17,24,39,0.06);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px;
}

.dashboard-saas .project-rsvp-donut-label{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#8a9098;
}

.dashboard-saas .project-rsvp-donut-value{
  margin-top:6px;
  font-size:44px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.05em;
  color:#1a1b20;
}

.dashboard-saas .project-rsvp-donut-sub{
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
  color:#6f7681;
}

.dashboard-saas .project-rsvp-metric-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .project-rsvp-metric-card{
  min-height:116px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(108, 31, 47, 0.10);
  background:#fbf7f5;
}

.dashboard-saas .project-rsvp-metric-card.is-accepted{
  background:#f7efef;
}

.dashboard-saas .project-rsvp-metric-card.is-pending{
  background:#f8f2f2;
}

.dashboard-saas .project-rsvp-metric-card.is-declined{
  background:#f8f5f5;
}

.dashboard-saas .project-rsvp-metric-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#8f6b72;
}

.dashboard-saas .project-rsvp-metric-value{
  margin-top:10px;
  font-size:42px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.05em;
  color:#4b0715;
}

.dashboard-saas .project-rsvp-metric-sub{
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
  color:#7a6570;
}

/* per-event headcount */
.dashboard-saas .event-headcount-list{
  display:grid;
  gap:14px;
}

.dashboard-saas .event-headcount-row{
  display:grid;
  grid-template-columns:160px minmax(0, 1fr) 60px;
  gap:14px;
  align-items:center;
}

.dashboard-saas .event-headcount-title{
  font-size:15px;
  line-height:1.25;
  font-weight:760;
  color:#17181d;
}

.dashboard-saas .event-headcount-sub{
  margin-top:6px;
  font-size:11px;
  line-height:1.4;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#8b9097;
}

.dashboard-saas .event-headcount-track{
  position:relative;
  height:28px;
  border-radius:10px;
  background:#efe9e3;
  overflow:hidden;
}

.dashboard-saas .event-headcount-fill{
  position:absolute;
  top:0;
  bottom:0;
}

.dashboard-saas .event-headcount-fill.is-ready{
  left:0;
  background:#6d0716;
  border-radius:10px;
}

.dashboard-saas .event-headcount-fill.is-late{
  background:#bf5c6d;
}

.dashboard-saas .event-headcount-fill.is-unknown{
  background:#d8c8cc;
}

.dashboard-saas .event-headcount-total{
  text-align:right;
  font-size:24px;
  line-height:1;
  font-weight:700;
  color:#5a2a33;
}

.dashboard-saas .event-headcount-summary-cards{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .event-mini-stat{
  padding:16px;
  border-radius:16px;
  background:#fbf7f1;
  border:1px solid rgba(110, 45, 50, 0.10);
}

.dashboard-saas .event-mini-stat-kicker{
  font-size:11px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#8b6d63;
}

.dashboard-saas .event-mini-stat-value{
  margin-top:10px;
  font-size:18px;
  line-height:1.3;
  font-weight:760;
  color:#391017;
}

/* two-col analytics rows */
.dashboard-saas .project-analytics-two-col{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

/* guest split */
.dashboard-saas .guest-split-bars{
  display:grid;
  gap:14px;
  margin-bottom:20px;
}

.dashboard-saas .guest-split-row{
  display:grid;
  grid-template-columns:56px minmax(0, 1fr) 42px;
  gap:12px;
  align-items:center;
}

.dashboard-saas .guest-split-label{
  font-size:14px;
  font-weight:600;
  color:#23262d;
}

.dashboard-saas .guest-split-track{
  position:relative;
  height:24px;
  border-radius:8px;
  background:#f1efee;
  overflow:hidden;
}

.dashboard-saas .guest-split-track span{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  color:#ffffff;
}

.dashboard-saas .guest-split-fill{
  position:absolute;
  inset:0 auto 0 0;
  border-radius:8px;
}

.dashboard-saas .guest-split-fill.is-bride{
  background:#6d0716;
}

.dashboard-saas .guest-split-fill.is-groom{
  background:#c1697a;
}

.dashboard-saas .guest-split-fill.is-both{
  background:#b38d45;
}

.dashboard-saas .guest-split-count{
  text-align:right;
  font-size:14px;
  font-weight:700;
  color:#3a3d44;
}

.dashboard-saas .guest-split-total{
  padding-top:16px;
  border-top:1px solid rgba(17,24,39,0.07);
}

.dashboard-saas .guest-split-total-kicker{
  font-size:11px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#8b9097;
}

.dashboard-saas .guest-split-total-value{
  margin-top:10px;
  font-size:40px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.04em;
  color:#1a1b20;
}

.dashboard-saas .guest-split-stack{
  margin-top:12px;
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:#f1efee;
  display:flex;
  gap:6px;
}

.dashboard-saas .guest-split-stack span{
  display:block;
  height:100%;
  border-radius:999px;
}

.dashboard-saas .guest-split-stack .is-bride{
  background:#6d0716;
}

.dashboard-saas .guest-split-stack .is-groom{
  background:#c1697a;
}

.dashboard-saas .guest-split-stack .is-both{
  background:#b38d45;
}

/* kids */
.dashboard-saas .kids-demo-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 180px;
  gap:18px;
  align-items:start;
}

.dashboard-saas .kids-demo-blocks{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:8px;
  min-height:160px;
  align-content:start;
}

.dashboard-saas .kids-block{
  display:block;
  aspect-ratio:1 / 1;
  border-radius:6px;
}

.dashboard-saas .kids-block.is-boy{
  background:#7a0a19;
}

.dashboard-saas .kids-block.is-girl{
  background:#c56a7b;
}

.dashboard-saas .kids-block.is-unknown{
  background:#b48f47;
}

.dashboard-saas .kids-block.is-empty{
  background:#f0ece7;
}

.dashboard-saas .kids-demo-side{
  display:grid;
  gap:12px;
}

.dashboard-saas .kids-mini-stat{
  padding:14px 16px;
  border-radius:16px;
  background:#fbf7f1;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .kids-mini-stat-kicker{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#8f7b6b;
}

.dashboard-saas .kids-mini-stat-value{
  margin-top:10px;
  font-size:32px;
  line-height:1;
  font-weight:800;
  color:#2a1117;
}

.dashboard-saas .kids-legend{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  font-size:13px;
  color:#5d636b;
}

.dashboard-saas .kids-swatch{
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:3px;
  margin-right:8px;
  vertical-align:middle;
}

.dashboard-saas .kids-swatch.is-boy{
  background:#7a0a19;
}

.dashboard-saas .kids-swatch.is-girl{
  background:#c56a7b;
}

.dashboard-saas .kids-swatch.is-unknown{
  background:#b48f47;
}

/* transport */
.dashboard-saas .transport-demand-list{
  display:grid;
  gap:16px;
}

.dashboard-saas .transport-demand-row{
  display:grid;
  grid-template-columns:92px minmax(0, 1fr) 120px;
  gap:14px;
  align-items:center;
}

.dashboard-saas .transport-demand-meta{
  display:grid;
  gap:6px;
}

.dashboard-saas .transport-demand-date{
  font-size:13px;
  font-weight:700;
  color:#2b2d34;
}

.dashboard-saas .transport-demand-day-total{
  font-size:24px;
  line-height:1;
  font-weight:800;
  color:#5b0716;
}

.dashboard-saas .transport-demand-bars{
  display:flex;
  gap:6px;
  align-items:center;
}

.dashboard-saas .transport-seg{
  height:18px;
  min-width:26px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-right:6px;
  font-size:11px;
  font-weight:700;
  color:#ffffff;
  white-space:nowrap;
  overflow:hidden;
}

.dashboard-saas .transport-seg.is-airport{
  background:#6d0716;
}

.dashboard-saas .transport-seg.is-hotel{
  background:#a53a4d;
}

.dashboard-saas .transport-seg.is-drop{
  background:#b38d45;
}

.dashboard-saas .transport-demand-fleet{
  display:grid;
  gap:6px;
  justify-content:end;
  font-size:12px;
  color:#66707a;
}

.dashboard-saas .transport-summary-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
}

.dashboard-saas .transport-summary-card{
  padding:14px 16px;
  border-radius:16px;
  background:#fbf7f1;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .transport-summary-kicker{
  font-size:11px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#8f7b6b;
}

.dashboard-saas .transport-summary-value{
  margin-top:10px;
  font-size:24px;
  line-height:1;
  font-weight:800;
  color:#3d1016;
}

.dashboard-saas .transport-summary-sub{
  margin-top:8px;
  font-size:12px;
  line-height:1.5;
  color:#6b717a;
}

/* stay */
.dashboard-saas .stay-night-list{
  display:grid;
  gap:14px;
}

.dashboard-saas .stay-night-row{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr) 130px;
  gap:12px;
  align-items:center;
}

.dashboard-saas .stay-night-date{
  font-size:13px;
  font-weight:700;
  color:#2b2d34;
}

.dashboard-saas .stay-night-track{
  height:18px;
  border-radius:999px;
  background:#efe9e3;
  overflow:hidden;
}

.dashboard-saas .stay-night-fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #7a0a19 0%, #b86a78 100%);
}

.dashboard-saas .stay-night-meta{
  display:grid;
  gap:4px;
  justify-content:end;
  font-size:12px;
  color:#67707a;
}

.dashboard-saas .stay-summary-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.dashboard-saas .stay-summary-card{
  padding:14px 16px;
  border-radius:16px;
  background:#fbf7f1;
  border:1px solid rgba(17,24,39,0.06);
}

.dashboard-saas .stay-summary-kicker{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#8f7b6b;
}

.dashboard-saas .stay-summary-value{
  margin-top:10px;
  font-size:24px;
  line-height:1;
  font-weight:800;
  color:#3d1016;
}

.dashboard-saas .stay-summary-sub{
  margin-top:8px;
  font-size:12px;
  line-height:1.5;
  color:#6b717a;
}

/* team load */
.dashboard-saas .team-task-list{
  display:grid;
  gap:14px;
}

.dashboard-saas .team-task-row{
  display:grid;
  grid-template-columns:220px minmax(0, 1fr) 130px;
  gap:14px;
  align-items:center;
}

.dashboard-saas .team-task-name{
  font-size:14px;
  font-weight:760;
  color:#17181d;
}

.dashboard-saas .team-task-dept{
  margin-top:6px;
  font-size:12px;
  color:#767d86;
}

.dashboard-saas .team-task-bar{
  height:12px;
  border-radius:999px;
  background:#f0ece7;
  overflow:hidden;
}

.dashboard-saas .team-task-fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #6d0716 0%, #b86a78 100%);
}

.dashboard-saas .team-task-counts{
  display:grid;
  gap:4px;
  justify-content:end;
  font-size:12px;
  color:#66707a;
}

/* right rail */
.dashboard-saas .next-step-list{
  display:grid;
  gap:14px;
}

.dashboard-saas .next-step-item{
  display:grid;
  grid-template-columns:10px 1fr;
  gap:12px;
  align-items:start;
  font-size:14px;
  line-height:1.55;
  color:#2b2f35;
}

.dashboard-saas .next-step-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#7a0a19;
  margin-top:6px;
}

.dashboard-saas .recent-update-list{
  display:grid;
  gap:0;
}

.dashboard-saas .recent-update-item{
  display:grid;
  grid-template-columns:112px minmax(0, 1fr) 90px;
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px dashed rgba(112, 76, 78, 0.18);
}

.dashboard-saas .recent-update-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.dashboard-saas .recent-update-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid transparent;
}

.dashboard-saas .recent-update-tag.is-rsvp{
  background:#f8e9ec;
  color:#8e3246;
  border-color:#e6bcc7;
}

.dashboard-saas .recent-update-tag.is-stay{
  background:#f3eee0;
  color:#8b6d36;
  border-color:#dfd0a8;
}

.dashboard-saas .recent-update-tag.is-transport{
  background:#edf1e8;
  color:#687955;
  border-color:#d4dbc8;
}

.dashboard-saas .recent-update-tag.is-events{
  background:#f2eaec;
  color:#8d4b58;
  border-color:#e0c6cc;
}

.dashboard-saas .recent-update-tag.is-task{
  background:#eceef5;
  color:#5e6783;
  border-color:#d8ddeb;
}

.dashboard-saas .recent-update-actor{
  font-size:14px;
  font-weight:760;
  color:#191b20;
}

.dashboard-saas .recent-update-summary{
  margin-top:4px;
  font-size:14px;
  line-height:1.45;
  color:#3f444b;
}

.dashboard-saas .recent-update-time{
  text-align:right;
  font-size:12px;
  color:#7d838b;
}

/* responsive */
@media (max-width: 1500px){
  .dashboard-saas .project-workspace-grid,
  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:280px minmax(0, 1fr);
  }

  .dashboard-saas .project-workspace-sidepanel{
    grid-column:1 / -1;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .dashboard-saas .recent-update-item{
    grid-template-columns:100px minmax(0,1fr) 80px;
  }
}

@media (max-width: 1280px){
  .dashboard-saas .project-rsvp-hero,
  .dashboard-saas .project-analytics-two-col{
    grid-template-columns:1fr;
  }

  .dashboard-saas .transport-summary-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .dashboard-saas .stay-summary-grid,
  .dashboard-saas .event-headcount-summary-cards{
    grid-template-columns:1fr;
  }

  .dashboard-saas .kids-demo-grid{
    grid-template-columns:1fr;
  }

  .dashboard-saas .team-task-row{
    grid-template-columns:1fr;
  }
}

@media (max-width: 1020px){
  .dashboard-saas .project-workspace-grid,
  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:1fr;
  }

  .dashboard-saas .project-sidebar-toggle{
    display:none;
  }

  .dashboard-saas .project-workspace-sidepanel{
    grid-template-columns:1fr;
  }

  .dashboard-saas .event-headcount-row,
  .dashboard-saas .transport-demand-row,
  .dashboard-saas .stay-night-row,
  .dashboard-saas .recent-update-item{
    grid-template-columns:1fr;
  }

  .dashboard-saas .recent-update-time{
    text-align:left;
  }
}

/* ==========================================================================
   PROJECT SIDEBAR — proper collapsed rail + sticky behavior
   ========================================================================== */

.dashboard-saas .project-workspace-sidebar{
  position:sticky;
  top:18px;
  align-self:start;
  height:calc(100vh - 36px);
}

.dashboard-saas .project-nav--v2{
  max-height:100%;
  overflow-y:auto;
  scrollbar-width:none;
}

.dashboard-saas .project-nav--v2::-webkit-scrollbar{
  width:0;
  height:0;
}

/* keep expanded layout clean */
.dashboard-saas .project-nav-item--card,
.dashboard-saas .project-nav-item--row{
  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    width .18s ease,
    min-height .18s ease,
    padding .18s ease;
}

/* collapsed rail width */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
  grid-template-columns:92px minmax(0, 1fr) 320px;
}

/* turn the whole left project nav into a proper icon rail */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav--v2{
  display:grid;
  justify-items:center;
  gap:12px;
  overflow:visible;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-stack{
  display:grid;
  gap:12px;
  width:100%;
  justify-items:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-group{
  display:grid;
  gap:12px;
  width:100%;
  justify-items:center;
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}

/* all collapsed items become compact square buttons */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item{
  justify-content:center;
  align-items:center;
  gap:0;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--card,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  width:60px;
  min-width:60px;
  height:60px;
  min-height:60px;
  padding:0;
  border-radius:18px;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  box-shadow:0 8px 18px rgba(17,24,39,0.06);
  display:flex;
  align-items:center;
  justify-content:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  border-bottom:none;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item:hover{
  transform:translateY(-1px);
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item.is-active{
  background:#faf6f7;
  border-color:rgba(109, 7, 22, 0.16);
  box-shadow:0 10px 22px rgba(109, 7, 22, 0.08);
}

/* hide copy in collapsed state */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-text,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-arrow,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-steps{
  display:none;
}

/* icon becomes the whole focus */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-ico{
  width:34px;
  height:34px;
  flex:0 0 34px;
  margin:0;
  border-radius:12px;
  background:#f6f2f3;
  display:grid;
  place-items:center;
  font-size:16px;
}

/* keep toggle visually attached to the rail */
.dashboard-saas .project-sidebar-toggle{
  position:absolute;
  top:10px;
  right:-14px;
  z-index:8;
  width:30px;
  height:30px;
  border:none;
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 10px 20px rgba(17,24,39,0.12);
  color:#4d5560;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

/* if your parent surface clips sticky elements, this fixes it */
.dashboard-saas .project-workspace-surface{
  overflow:visible;
}

/* responsive fallback */
@media (max-width: 1500px){
  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:92px minmax(0, 1fr);
  }
}

@media (max-width: 1020px){
  .dashboard-saas .project-workspace-sidebar{
    position:relative;
    top:auto;
    height:auto;
  }

  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================
   PROJECT DASHBOARD — sticky project rail + sticky compact header
   ========================================================================== */

:root{
  --project-head-top: 14px;
  --project-sticky-offset: 128px;
}

/* allow sticky children to escape the surface cleanly */
.dashboard-saas .project-workspace-surface{
  overflow:visible;
}

/* sticky compact page header */
.dashboard-saas .project-workspace-head{
  position:sticky;
  top:var(--project-head-top);
  z-index:34;
  margin:0 0 18px 0;
  padding:18px 20px;
  border-radius:24px;
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(17,24,39,0.06);
  box-shadow:0 14px 30px rgba(17,24,39,0.05);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:
    padding .18s ease,
    border-radius .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.dashboard-saas .project-workspace-head.is-compact{
  padding:10px 14px;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(17,24,39,0.08);
}

.dashboard-saas .project-workspace-head.is-compact .tasks-page-kicker{
  display:none;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-copy h1{
  font-size:22px;
  line-height:1.05;
  margin:0;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-copy p{
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-actions{
  gap:8px;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-actions .btn{
  height:40px;
  padding:0 14px;
  border-radius:14px;
  font-size:13px;
}

.dashboard-saas .project-workspace-head-copy{
  min-width:0;
}

.dashboard-saas .project-workspace-head-copy h1{
  transition:font-size .18s ease, line-height .18s ease;
}

.dashboard-saas .project-workspace-head-copy p{
  transition:font-size .18s ease, margin-top .18s ease;
}

/* sticky project sidebar */
.dashboard-saas .project-workspace-sidebar{
  position:sticky;
  top:var(--project-sticky-offset);
  align-self:start;
  height:calc(100vh - var(--project-sticky-offset) - 16px);
  min-height:320px;
}

.dashboard-saas .project-sidebar-rail-head{
  display:flex;
  justify-content:flex-end;
  margin-bottom:10px;
}

.dashboard-saas .project-sidebar-toggle{
  position:relative;
  top:auto;
  right:auto;
  width:36px;
  height:36px;
  border:none;
  border-radius:12px;
  background:#ffffff;
  box-shadow:0 10px 22px rgba(17,24,39,0.10);
  color:#525963;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.dashboard-saas .project-sidebar-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(17,24,39,0.14);
}

/* scrollable sticky rail content */
.dashboard-saas .project-nav--v2{
  max-height:calc(100vh - var(--project-sticky-offset) - 62px);
  overflow-y:auto;
  padding-right:2px;
  scrollbar-width:none;
}

.dashboard-saas .project-nav--v2::-webkit-scrollbar{
  width:0;
  height:0;
}

/* svg icons */
.dashboard-saas .project-nav-ico{
  background:#f7f2f4;
}

.dashboard-saas .project-nav-ico-img{
  width:18px;
  height:18px;
  display:block;
  object-fit:contain;
}

/* collapsed project rail */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
  grid-template-columns:96px minmax(0, 1fr) 320px;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-sidebar-rail-head{
  justify-content:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-sidebar-toggle{
  width:40px;
  height:40px;
  border-radius:14px;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav--v2{
  display:grid;
  justify-items:center;
  gap:12px;
  max-height:calc(100vh - var(--project-sticky-offset) - 62px);
  overflow-y:auto;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-stack{
  display:grid;
  gap:12px;
  width:100%;
  justify-items:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-group{
  display:grid;
  gap:12px;
  width:100%;
  justify-items:center;
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-text,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-arrow,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-steps{
  display:none;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item{
  justify-content:center;
  align-items:center;
  gap:0;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--card,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  width:58px;
  min-width:58px;
  height:58px;
  min-height:58px;
  padding:0;
  border-radius:18px;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  box-shadow:0 8px 18px rgba(17,24,39,0.06);
  display:flex;
  align-items:center;
  justify-content:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  border-bottom:none;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item.is-active{
  background:#faf6f7;
  border-color:rgba(109,7,22,0.16);
  box-shadow:0 10px 22px rgba(109,7,22,0.08);
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-ico{
  width:34px;
  height:34px;
  flex:0 0 34px;
  margin:0;
  border-radius:12px;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-ico-img{
  width:18px;
  height:18px;
}

/* make the header actions wrap nicely inside sticky state */
.dashboard-saas .project-workspace-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.dashboard-saas .project-workspace-head-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

@media (max-width: 1500px){
  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:96px minmax(0, 1fr);
  }
}

@media (max-width: 1180px){
  .dashboard-saas .project-workspace-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .project-workspace-head-actions{
    justify-content:flex-start;
  }
}

@media (max-width: 1020px){
  .dashboard-saas .project-workspace-head{
    position:relative;
    top:auto;
  }

  .dashboard-saas .project-workspace-sidebar{
    position:relative;
    top:auto;
    height:auto;
    min-height:0;
  }

  .dashboard-saas .project-nav--v2{
    max-height:none;
    overflow:visible;
  }

  .dashboard-saas .project-sidebar-rail-head{
    display:none;
  }

  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================
   PROJECT SHOW — sticky header + sticky/collapsible project rail FIX
   ========================================================================== */

:root{
  --project-head-top: 14px;
  --project-head-height: 120px;
  --project-sidebar-top: 148px;
}

/* sticky breaks if parents clip overflow */
.dashboard-saas .app-main,
.dashboard-saas .surface,
.dashboard-saas .project-workspace-surface,
.dashboard-saas .project-workspace-grid,
.dashboard-saas .project-workspace-main,
.dashboard-saas .project-workspace-sidepanel{
  overflow: visible !important;
}

/* ---------- sticky project header ---------- */

.dashboard-saas .project-workspace-head{
  position: sticky;
  top: var(--project-head-top);
  z-index: 40;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px 0;
  padding:18px 22px;
  border-radius:24px;
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(17,24,39,0.06);
  box-shadow:0 12px 28px rgba(17,24,39,0.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:
    padding .18s ease,
    border-radius .18s ease,
    box-shadow .18s ease;
}

.dashboard-saas .project-workspace-head.is-compact{
  padding:10px 16px;
  border-radius:18px;
  box-shadow:0 10px 20px rgba(17,24,39,0.08);
}

.dashboard-saas .project-workspace-head.is-compact .tasks-page-kicker{
  display:none;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-copy h1{
  font-size:24px;
  line-height:1.05;
  margin:0;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-copy p{
  margin-top:4px;
  font-size:12px;
  line-height:1.3;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-actions .btn{
  height:40px;
  padding:0 14px;
  border-radius:14px;
  font-size:13px;
}

.dashboard-saas .project-workspace-head-copy{
  min-width:0;
}

.dashboard-saas .project-workspace-head-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

/* ---------- project layout ---------- */

.dashboard-saas .project-workspace-grid{
  display:grid;
  grid-template-columns:320px minmax(0, 1fr) 320px;
  gap:18px;
  align-items:start;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
  grid-template-columns:96px minmax(0, 1fr) 320px !important;
}

/* ---------- sticky project sidebar ---------- */

.dashboard-saas .project-workspace-sidebar{
  position: sticky;
  top: var(--project-sidebar-top);
  align-self:start;
  height: calc(100vh - var(--project-sidebar-top) - 18px);
  min-height: 360px;
  z-index: 20;
}

.dashboard-saas .project-sidebar-rail-head{
  display:flex;
  justify-content:flex-end;
  margin-bottom:10px;
}

.dashboard-saas .project-sidebar-toggle{
  width:40px;
  height:40px;
  border:none;
  border-radius:14px;
  background:#ffffff;
  color:#525863;
  box-shadow:0 10px 22px rgba(17,24,39,0.12);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.dashboard-saas .project-sidebar-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(17,24,39,0.16);
}

.dashboard-saas .project-nav--v2{
  max-height: calc(100vh - var(--project-sidebar-top) - 60px);
  overflow-y:auto;
  padding-right:2px;
  scrollbar-width:none;
}

.dashboard-saas .project-nav--v2::-webkit-scrollbar{
  width:0;
  height:0;
}

/* ---------- project nav icons ---------- */

.dashboard-saas .project-nav-ico{
  background:#f7f2f4;
}

.dashboard-saas .project-nav-ico-img{
  display:block;
  width:18px;
  height:18px;
  object-fit:contain;
}

/* ---------- collapsed rail ---------- */

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-sidebar-rail-head{
  justify-content:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav--v2{
  display:grid;
  justify-items:center;
  gap:12px;
  max-height: calc(100vh - var(--project-sidebar-top) - 60px);
  overflow-y:auto;
  overflow-x:visible;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-stack{
  display:grid;
  gap:12px;
  width:100%;
  justify-items:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-group{
  display:grid;
  gap:12px;
  width:100%;
  justify-items:center;
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-text,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-arrow,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-sub,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-title{
  display:none !important;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item{
  justify-content:center;
  align-items:center;
  gap:0;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--card,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  width:58px;
  min-width:58px;
  height:58px;
  min-height:58px;
  padding:0;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,24,39,0.08);
  background:#ffffff;
  box-shadow:0 8px 18px rgba(17,24,39,0.06);
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  border-bottom:none;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item.is-active{
  background:#faf6f7;
  border-color:rgba(109,7,22,0.16);
  box-shadow:0 10px 22px rgba(109,7,22,0.08);
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-ico{
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  margin:0;
  border-radius:12px;
  display:grid;
  place-items:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-ico-img{
  width:18px;
  height:18px;
}

/* ---------- responsive ---------- */

@media (max-width: 1500px){
  .dashboard-saas .project-workspace-grid{
    grid-template-columns:280px minmax(0, 1fr);
  }

  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:96px minmax(0, 1fr) !important;
  }

  .dashboard-saas .project-workspace-sidepanel{
    grid-column:1 / -1;
  }
}

@media (max-width: 1180px){
  .dashboard-saas .project-workspace-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .project-workspace-head-actions{
    justify-content:flex-start;
  }
}

@media (max-width: 1020px){
  .dashboard-saas .project-workspace-head{
    position:relative;
    top:auto;
  }

  .dashboard-saas .project-workspace-sidebar{
    position:relative;
    top:auto;
    height:auto;
    min-height:0;
  }

  .dashboard-saas .project-sidebar-rail-head{
    display:none;
  }

  .dashboard-saas .project-nav--v2{
    max-height:none;
    overflow:visible;
  }

  .dashboard-saas .project-workspace-grid,
  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:1fr !important;
  }
}

/* ==========================================================================
   PROJECT SIDEBAR — compact mode without helper text
   ========================================================================== */

/* hide helper text everywhere in the project sidebar */
.dashboard-saas .project-nav--v2 .project-nav-sub{
  display:none !important;
}

/* tighter card + row spacing */
.dashboard-saas .project-nav--v2 .project-nav-stack{
  gap:10px;
}

.dashboard-saas .project-nav--v2 .project-nav-group{
  gap:0;
}

.dashboard-saas .project-nav--v2 .project-nav-item--card{
  min-height:72px;
  padding:14px 16px;
  align-items:center;
}

.dashboard-saas .project-nav--v2 .project-nav-item--row{
  min-height:64px;
  padding:14px 16px;
  align-items:center;
}

/* title stays clean and single-level */
.dashboard-saas .project-nav--v2 .project-nav-title{
  font-size:15px;
  line-height:1.2;
  font-weight:720;
  margin:0;
}

/* icon block slightly tighter */
.dashboard-saas .project-nav--v2 .project-nav-ico{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  border-radius:12px;
}

/* slightly reduce sticky rail height usage */
.dashboard-saas .project-workspace-sidebar{
  height:calc(100vh - var(--project-sidebar-top) - 10px);
}

.dashboard-saas .project-nav--v2{
  max-height:calc(100vh - var(--project-sidebar-top) - 52px);
}

/* collapsed rail stays untouched and compact */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-sub{
  display:none !important;
}

/* ==========================================================================
   PROJECT HEADER CTA REWORK + DANGER ZONE
   ========================================================================== */

.dashboard-saas .project-workspace-head-actions--split{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.dashboard-saas .project-workspace-head-actions-left,
.dashboard-saas .project-workspace-head-actions-right{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.dashboard-saas .btn-back-projects{
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.08);
  color:#1f2430;
}

.dashboard-saas .btn-back-projects:hover{
  background:#fafafa;
}

.dashboard-saas .project-danger-zone{
  border:1px solid rgba(127,29,29,0.10);
}

.dashboard-saas .project-danger-zone .project-workspace-card-head h2{
  color:#7a1020;
}

.dashboard-saas .project-danger-zone-actions{
  display:grid;
  gap:12px;
}

.dashboard-saas .project-danger-archive{
  background:#fff8f6;
  border:1px solid rgba(127,29,29,0.12);
  color:#7a1020;
}

.dashboard-saas .project-danger-archive:hover{
  background:#fdf1ee;
}

.dashboard-saas .project-danger-delete{
  background:#7a1020;
  border:1px solid #7a1020;
  color:#ffffff;
}

.dashboard-saas .project-danger-delete:hover{
  background:#65101c;
  border-color:#65101c;
}

@media (max-width: 1180px){
  .dashboard-saas .project-workspace-head-actions--split{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .project-workspace-head-actions-right{
    justify-content:flex-start;
  }
}

/* ==========================================================================
   PROJECT HEADER + PROJECT RAIL polish fix
   ========================================================================== */

/* --- header layout --- */

.dashboard-saas .project-workspace-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.dashboard-saas .project-workspace-head-copy{
  min-width:0;
  flex:1 1 auto;
}

.dashboard-saas .project-workspace-title-row{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-width:0;
}

.dashboard-saas .project-workspace-title-copy{
  min-width:0;
}

.dashboard-saas .project-title-back{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.08);
  color:#20242c;
  font-size:18px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 6px 14px rgba(17,24,39,0.05);
}

.dashboard-saas .project-title-back:hover{
  background:#fafafa;
}

.dashboard-saas .project-workspace-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.dashboard-saas .project-workspace-head-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  line-height:1;
}

/* compact sticky state */
.dashboard-saas .project-workspace-head.is-compact{
  padding:10px 16px;
}

.dashboard-saas .project-workspace-head.is-compact .tasks-page-kicker{
  display:none;
}

.dashboard-saas .project-workspace-head.is-compact .project-title-back{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:12px;
  font-size:16px;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-copy h1{
  font-size:22px;
  line-height:1.05;
  margin:0;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-copy p{
  margin-top:4px;
  font-size:12px;
  line-height:1.2;
}

.dashboard-saas .project-workspace-head.is-compact .project-workspace-head-actions .btn{
  height:38px;
  padding:0 14px;
  border-radius:13px;
  font-size:13px;
}

/* --- project sidebar containment / no overlap --- */

.dashboard-saas .project-workspace-grid{
  align-items:start;
}

.dashboard-saas .project-workspace-sidebar{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:visible;
  z-index:12;
}

.dashboard-saas .project-workspace-main,
.dashboard-saas .project-workspace-sidepanel{
  min-width:0;
  position:relative;
  z-index:1;
}

.dashboard-saas .project-nav--v2{
  overflow-x:hidden !important;
}

/* explicit narrow collapsed rail so it doesn't spill over */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-workspace-sidebar{
  width:96px;
  max-width:96px;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav--v2{
  width:96px;
  max-width:96px;
  justify-items:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-stack,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-group{
  width:96px;
  max-width:96px;
  justify-items:center;
}

.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--card,
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-nav-item--row{
  width:58px;
  min-width:58px;
  max-width:58px;
}

/* keep the toggle visually aligned with the narrow rail */
.dashboard-saas .project-workspace-grid.is-sidebar-collapsed .project-sidebar-rail-head{
  width:96px;
  max-width:96px;
  justify-content:center;
}

/* responsive */
@media (max-width: 1180px){
  .dashboard-saas .project-workspace-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .project-workspace-head-actions{
    justify-content:flex-start;
  }
}

/* ==========================================================================
   PROJECT SHOW — prevent lower cards from sliding under project rail
   ========================================================================== */

@media (max-width: 1500px){
  .dashboard-saas .project-workspace-grid{
    grid-template-columns:280px minmax(0, 1fr);
  }

  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:96px minmax(0, 1fr) !important;
  }

  .dashboard-saas .project-workspace-sidebar{
    grid-column:1;
    z-index:8;
  }

  .dashboard-saas .project-workspace-main{
    grid-column:2;
    min-width:0;
  }

  /* this is the important fix */
  .dashboard-saas .project-workspace-sidepanel{
    grid-column:2 / -1 !important;
    min-width:0;
    margin-left:0 !important;
    padding-left:0 !important;
  }
}

/* ==========================================================================
   RSVP HERO — premium infographic pass
   ========================================================================== */

.dashboard-saas .project-rsvp-focus-card{
  padding:26px 26px 24px;
}

.dashboard-saas .project-rsvp-focus-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.dashboard-saas .project-rsvp-focus-head h2{
  margin:0;
  font-size:17px;
  line-height:1.2;
  font-weight:780;
  color:#18191e;
}

.dashboard-saas .project-rsvp-focus-head p{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.5;
  color:#7a7074;
}

.dashboard-saas .project-rsvp-focus-link{
  align-self:flex-start;
  text-decoration:none;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#b07a84;
  padding-top:2px;
}

.dashboard-saas .project-rsvp-focus-grid{
  display:grid;
  grid-template-columns:320px minmax(0, 1fr);
  gap:28px;
  align-items:center;
}

.dashboard-saas .project-rsvp-focus-donut-col{
  display:flex;
  justify-content:center;
  align-items:center;
}

.dashboard-saas .project-rsvp-focus-donut{
  position:relative;
  width:294px;
  height:294px;
  border-radius:50%;
  display:grid;
  place-items:center;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,0.78);
}

.dashboard-saas .project-rsvp-focus-donut::after{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:50%;
  border:1px solid rgba(130,93,97,0.12);
  pointer-events:none;
}

.dashboard-saas .project-rsvp-focus-donut-hole{
  width:208px;
  height:208px;
  border-radius:50%;
  background:#ffffff;
  box-shadow:inset 0 0 0 1px rgba(130,93,97,0.10);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
}

.dashboard-saas .project-rsvp-focus-center-kicker{
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#9d8085;
}

.dashboard-saas .project-rsvp-focus-center-value{
  margin-top:10px;
  font-size:62px;
  line-height:0.95;
  font-weight:800;
  letter-spacing:-0.06em;
  color:#5f0715;
}

.dashboard-saas .project-rsvp-focus-center-sub{
  margin-top:8px;
  font-size:16px;
  line-height:1.3;
  color:#6f6266;
}

.dashboard-saas .project-rsvp-focus-center-pill{
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  background:#f3dde2;
  color:#7c2031;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.dashboard-saas .project-rsvp-focus-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.dashboard-saas .project-rsvp-stat-card{
  border-radius:18px;
  padding:16px 18px 14px;
  border:1px solid rgba(125,74,79,0.12);
  background:#fbf7f4;
}

.dashboard-saas .project-rsvp-stat-card.is-accepted{
  background:#f8f1ed;
}

.dashboard-saas .project-rsvp-stat-card.is-pending{
  background:#faf3f4;
}

.dashboard-saas .project-rsvp-stat-card.is-declined{
  background:#f8f4ec;
}

.dashboard-saas .project-rsvp-stat-card.is-noresponse{
  background:#faf8f5;
}

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

.dashboard-saas .project-rsvp-stat-head span{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#9b7c81;
}

.dashboard-saas .project-rsvp-stat-head strong{
  font-size:28px;
  line-height:1;
  font-weight:500;
  color:#8c7773;
}

.dashboard-saas .project-rsvp-stat-value{
  margin-top:10px;
  font-size:56px;
  line-height:0.95;
  font-weight:800;
  letter-spacing:-0.06em;
  color:#5d0714;
}

.dashboard-saas .project-rsvp-stat-bar{
  margin-top:12px;
  height:4px;
  border-radius:999px;
  background:#e8ddd5;
  overflow:hidden;
}

.dashboard-saas .project-rsvp-stat-bar span{
  display:block;
  height:100%;
  border-radius:999px;
}

.dashboard-saas .project-rsvp-stat-card.is-accepted .project-rsvp-stat-bar span{
  background:#6e0717;
}

.dashboard-saas .project-rsvp-stat-card.is-pending .project-rsvp-stat-bar span{
  background:#cb98a4;
}

.dashboard-saas .project-rsvp-stat-card.is-declined .project-rsvp-stat-bar span{
  background:#b58b42;
}

.dashboard-saas .project-rsvp-stat-card.is-noresponse .project-rsvp-stat-bar span{
  background:#d6c8bc;
}

.dashboard-saas .project-rsvp-expected-card{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(125,74,79,0.12);
  background:#fbf7f1;
}

.dashboard-saas .project-rsvp-expected-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#9c7f73;
}

.dashboard-saas .project-rsvp-expected-sub{
  margin-top:8px;
  font-size:15px;
  line-height:1.4;
  color:#7b6a68;
}

.dashboard-saas .project-rsvp-expected-value{
  flex:0 0 auto;
  font-size:52px;
  line-height:1;
  font-weight:500;
  letter-spacing:-0.05em;
  color:#3f171a;
}

@media (max-width: 1280px){
  .dashboard-saas .project-rsvp-focus-grid{
    grid-template-columns:1fr;
  }

  .dashboard-saas .project-rsvp-focus-donut-col{
    justify-content:flex-start;
  }
}

@media (max-width: 760px){
  .dashboard-saas .project-rsvp-focus-stats{
    grid-template-columns:1fr;
  }

  .dashboard-saas .project-rsvp-expected-card{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ==========================================================================
   RSVP analytics — sharper premium pass
   ========================================================================== */

.dashboard-saas .project-rsvp-focus-card{
  padding:24px 24px 22px;
  border-radius:24px;
}

.dashboard-saas .project-rsvp-focus-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.dashboard-saas .project-rsvp-focus-head h2{
  margin:0;
  font-size:18px;
  line-height:1.15;
  font-weight:800;
  color:#221b1f;
}

.dashboard-saas .project-rsvp-focus-head p{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.45;
  color:#7f7275;
}

.dashboard-saas .project-rsvp-focus-link{
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#b78790;
  white-space:nowrap;
  padding-top:4px;
}

.dashboard-saas .project-rsvp-focus-grid{
  display:grid;
  grid-template-columns:310px minmax(0, 1fr);
  gap:20px;
  align-items:center;
}

.dashboard-saas .project-rsvp-focus-donut{
  width:276px;
  height:276px;
  margin:0 auto;
  border-radius:50%;
  position:relative;
  display:grid;
  place-items:center;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,0.72);
}

.dashboard-saas .project-rsvp-focus-donut::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  border:1px solid rgba(115,85,89,0.10);
}

.dashboard-saas .project-rsvp-focus-donut-hole{
  width:176px;
  height:176px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(125,98,101,0.10);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  position:relative;
  z-index:2;
}

.dashboard-saas .project-rsvp-focus-center-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#9a8387;
}

.dashboard-saas .project-rsvp-focus-center-value{
  margin-top:8px;
  font-size:58px;
  line-height:0.92;
  font-weight:800;
  letter-spacing:-0.06em;
  color:#6f0716;
}

.dashboard-saas .project-rsvp-focus-center-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.35;
  color:#75686b;
}

.dashboard-saas .project-rsvp-focus-center-pill{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  background:#f2dde2;
  color:#7d2635;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.dashboard-saas .project-rsvp-focus-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.dashboard-saas .project-rsvp-stat-card{
  border-radius:18px;
  padding:16px 18px 14px;
  border:1px solid rgba(137,101,106,0.12);
  background:#fbf6f3;
  min-height:128px;
}

.dashboard-saas .project-rsvp-stat-card.is-accepted{
  background:#f8f1ed;
}

.dashboard-saas .project-rsvp-stat-card.is-pending{
  background:#fbf4f5;
}

.dashboard-saas .project-rsvp-stat-card.is-declined{
  background:#f8f4ec;
}

.dashboard-saas .project-rsvp-stat-card.is-noresponse{
  background:#faf7f3;
}

.dashboard-saas .project-rsvp-stat-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dashboard-saas .project-rsvp-stat-head span{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#9c8184;
}

.dashboard-saas .project-rsvp-stat-head strong{
  font-size:18px;
  line-height:1;
  font-weight:700;
  color:#8a7672;
}

.dashboard-saas .project-rsvp-stat-value{
  margin-top:10px;
  font-size:54px;
  line-height:0.92;
  font-weight:800;
  letter-spacing:-0.05em;
  color:#6a0716;
}

.dashboard-saas .project-rsvp-stat-bar{
  margin-top:12px;
  height:4px;
  border-radius:999px;
  background:#e9ddd5;
  overflow:hidden;
}

.dashboard-saas .project-rsvp-stat-bar span{
  display:block;
  height:100%;
  border-radius:999px;
}

.dashboard-saas .project-rsvp-stat-card.is-accepted .project-rsvp-stat-bar span{
  background:#6e0717;
}

.dashboard-saas .project-rsvp-stat-card.is-pending .project-rsvp-stat-bar span{
  background:#c67585;
}

.dashboard-saas .project-rsvp-stat-card.is-declined .project-rsvp-stat-bar span{
  background:#b58b42;
}

.dashboard-saas .project-rsvp-stat-card.is-noresponse .project-rsvp-stat-bar span{
  background:#d8cabe;
}

.dashboard-saas .project-rsvp-expected-card{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(137,101,106,0.12);
  background:#fbf7f1;
}

.dashboard-saas .project-rsvp-expected-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#9c7f73;
}

.dashboard-saas .project-rsvp-expected-sub{
  margin-top:6px;
  font-size:14px;
  line-height:1.4;
  color:#7c6e69;
}

.dashboard-saas .project-rsvp-expected-value{
  flex:0 0 auto;
  font-size:44px;
  line-height:1;
  font-weight:500;
  letter-spacing:-0.04em;
  color:#3f171a;
}

@media (max-width: 1280px){
  .dashboard-saas .project-rsvp-focus-grid{
    grid-template-columns:1fr;
  }

  .dashboard-saas .project-rsvp-focus-donut{
    margin:0;
  }
}

@media (max-width: 760px){
  .dashboard-saas .project-rsvp-focus-stats{
    grid-template-columns:1fr;
  }

  .dashboard-saas .project-rsvp-expected-card{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ==========================================================================
   PROJECT DASHBOARD — RSVP + SNAPSHOT POLISH
   ========================================================================== */

.project-analytics-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin:0 0 14px 0;
  padding:0 2px;
}

.project-analytics-section-head h2{
  margin:0;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-0.01em;
  color:#2c2024;
  position:relative;
}

.project-analytics-section-head h2::after{
  content:"";
  display:block;
  width:290px;
  max-width:42vw;
  height:4px;
  margin-top:10px;
  border-radius:999px;
  background:#7b0819;
}

/* top row */
.project-rsvp-snapshot-row{
  display:grid;
  grid-template-columns:minmax(0, 1.58fr) minmax(390px, 0.92fr);
  gap:24px;
  align-items:stretch;
  margin-bottom:22px;
}

.project-rsvp-snapshot-row .project-rsvp-focus-card,
.project-rsvp-snapshot-row .project-snapshot-card{
  margin-bottom:0;
  min-height:540px;
}

/* cards */
.project-rsvp-focus-card,
.project-snapshot-card{
  background:#fff;
  border:1px solid #eee7e1;
  border-radius:28px;
  box-shadow:0 10px 28px rgba(27, 12, 17, 0.04);
}

/* ==========================================================================
   RSVP CARD
   ========================================================================== */

.project-rsvp-focus-card{
  padding:24px 24px 22px;
}

.project-rsvp-focus-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.project-rsvp-focus-head h2{
  margin:0;
  font-size:19px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#231a1f;
}

.project-rsvp-focus-head p{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.45;
  color:#8d7a7f;
}

.project-rsvp-focus-link{
  text-decoration:none;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#bb8c95;
  white-space:nowrap;
  padding-top:4px;
}

.project-rsvp-focus-grid{
  display:grid;
  grid-template-columns:330px minmax(0, 1fr);
  gap:24px;
  align-items:center;
}

.project-rsvp-focus-donut-col{
  display:flex;
  align-items:center;
  justify-content:center;
}

.project-rsvp-focus-donut{
  width:292px;
  height:292px;
  border-radius:50%;
  position:relative;
  display:grid;
  place-items:center;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,0.78);
}

.project-rsvp-focus-donut::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  border:1px solid rgba(123, 91, 95, 0.12);
}

.project-rsvp-focus-donut-hole{
  width:188px;
  height:188px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(121, 94, 98, 0.10);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
  position:relative;
  z-index:2;
}

.project-rsvp-focus-center-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#a0888d;
}

.project-rsvp-focus-center-value{
  margin-top:10px;
  font-size:60px;
  line-height:0.9;
  font-weight:800;
  letter-spacing:-0.06em;
  color:#730819;
}

.project-rsvp-focus-center-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.35;
  color:#7d6f73;
}

.project-rsvp-focus-center-pill{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#f4dfe4;
  color:#7e2635;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.project-rsvp-focus-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.project-rsvp-stat-card{
  min-height:128px;
  border-radius:18px;
  padding:16px 18px 15px;
  border:1px solid rgba(148, 112, 117, 0.12);
  background:#fbf7f4;
}

.project-rsvp-stat-card.is-accepted{ background:#faf4ef; }
.project-rsvp-stat-card.is-pending{ background:#fcf5f6; }
.project-rsvp-stat-card.is-declined{ background:#faf6ee; }
.project-rsvp-stat-card.is-noresponse{ background:#fbf8f3; }

.project-rsvp-stat-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.project-rsvp-stat-head span{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#a08387;
}

.project-rsvp-stat-head strong{
  font-size:15px;
  line-height:1;
  font-weight:700;
  color:#8d7773;
}

.project-rsvp-stat-value{
  margin-top:12px;
  font-size:56px;
  line-height:0.9;
  font-weight:800;
  letter-spacing:-0.05em;
  color:#6d0716;
}

.project-rsvp-stat-bar{
  margin-top:14px;
  height:4px;
  border-radius:999px;
  background:#eadfd8;
  overflow:hidden;
}

.project-rsvp-stat-bar span{
  display:block;
  height:100%;
  border-radius:999px;
}

.project-rsvp-stat-card.is-accepted .project-rsvp-stat-bar span{ background:#740819; }
.project-rsvp-stat-card.is-pending .project-rsvp-stat-bar span{ background:#c97989; }
.project-rsvp-stat-card.is-declined .project-rsvp-stat-bar span{ background:#b88d45; }
.project-rsvp-stat-card.is-noresponse .project-rsvp-stat-bar span{ background:#d9cec3; }

.project-rsvp-expected-card{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  border-radius:18px;
  border:1px solid rgba(148, 112, 117, 0.12);
  background:#fbf7f1;
}

.project-rsvp-expected-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#9f8275;
}

.project-rsvp-expected-sub{
  margin-top:6px;
  font-size:14px;
  line-height:1.4;
  color:#7f706b;
}

.project-rsvp-expected-value{
  flex:0 0 auto;
  font-size:46px;
  line-height:1;
  font-weight:600;
  letter-spacing:-0.04em;
  color:#45181d;
}

/* ==========================================================================
   SNAPSHOT CARD
   ========================================================================== */

.project-snapshot-card{
  padding:24px 24px 18px;
}

.project-snapshot-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.project-snapshot-head h2{
  margin:0 0 4px 0;
  font-size:18px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#231a1f;
}

.project-snapshot-head p{
  margin:0;
  font-size:13px;
  line-height:1.45;
  color:#8d7a7f;
}

.project-snapshot-live-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 13px;
  height:32px;
  border-radius:999px;
  background:#edf5ea;
  color:#65835a;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
}

.project-snapshot-live-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#6f9b66;
  display:block;
}

.project-snapshot-tiles{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}

.project-snapshot-tile{
  background:#fbf7f1;
  border:1px solid rgba(156, 132, 120, 0.14);
  border-radius:16px;
  padding:16px 16px 14px;
  min-height:108px;
}

.project-snapshot-tile-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#9d8076;
  margin-bottom:10px;
}

.project-snapshot-tile-value{
  font-size:24px;
  line-height:1;
  font-weight:700;
  letter-spacing:-0.03em;
  color:#241b20;
}

.project-snapshot-tile-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.35;
  color:#8b7b77;
}

.project-snapshot-kv-list{
  border-top:1px solid rgba(156, 132, 120, 0.18);
  padding-top:16px;
}

.project-snapshot-kv-item{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding:12px 0;
  border-bottom:1px dashed rgba(156, 132, 120, 0.18);
}

.project-snapshot-kv-item:last-child{
  border-bottom:none;
}

.project-snapshot-kv-key{
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#9d8076;
}

.project-snapshot-kv-val{
  font-size:15px;
  line-height:1.35;
  font-weight:600;
  color:#2f2022;
  text-align:right;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1320px){
  .project-rsvp-snapshot-row{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .project-rsvp-focus-grid{
    grid-template-columns:1fr;
  }

  .project-rsvp-focus-stats,
  .project-snapshot-tiles{
    grid-template-columns:1fr;
  }

  .project-rsvp-expected-card{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ==========================================================================
   VIDHAAN PROJECT WORKSPACE — v3 DESIGN OVERHAUL
   All rules use high-specificity .dashboard-saas prefix to win cascade.
   ========================================================================== */

/* ── Global surface & typography ─────────────────────────────────────────── */
.dashboard-saas .project-workspace-surface {
  background: #f5f0eb !important;
  border-radius: 28px;
}

.dashboard-saas .surface.project-workspace-surface {
  background: #f5f0eb !important;
}

/* Section divider head */
.dashboard-saas .pw-section-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 16px 0;
  padding: 0 2px;
}

.dashboard-saas .pw-section-head h2 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7a5f65;
  position: relative;
}

.dashboard-saas .pw-section-head h2::after {
  display: none !important; /* remove old red underline */
}

/* Remove old section head underline too */
.dashboard-saas .project-analytics-section-head h2::after {
  display: none !important;
}

/* Base card */
.dashboard-saas .pw-card {
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(180, 155, 148, 0.18);
  box-shadow: 0 2px 12px rgba(60, 25, 30, 0.05),
              0 1px 3px rgba(60, 25, 30, 0.04);
  overflow: hidden;
}

/* ── Top-row 2-col grid ──────────────────────────────────────────────────── */
.dashboard-saas .project-rsvp-snapshot-row {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.9fr);
  gap: 20px;
  align-items: start;
  margin-bottom: 20px;
}

/* ── RSVP v3 Card ────────────────────────────────────────────────────────── */
.dashboard-saas .rsvp3-card { padding: 0; }

/* Header */
.dashboard-saas .rsvp3-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 22px 16px;
  border-bottom: 1px solid rgba(180, 150, 148, 0.12);
}

.dashboard-saas .rsvp3-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dashboard-saas .rsvp3-icon-wrap {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: #fdf0f2;
  display: grid;
  place-items: center;
  font-size: 18px;
  flex-shrink: 0;
}

.dashboard-saas .rsvp3-title {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #221b1f;
}

.dashboard-saas .rsvp3-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #9a8689;
}

.dashboard-saas .rsvp3-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #5cb85c;
  display: inline-block;
  animation: rsvp3pulse 2.2s ease-in-out infinite;
}

@keyframes rsvp3pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.dashboard-saas .rsvp3-sep { opacity: 0.35; }

.dashboard-saas .rsvp3-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.dashboard-saas .rsvp3-btn-ghost {
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
  color: #7a6870;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(140, 105, 112, 0.22);
  transition: background 0.15s;
}
.dashboard-saas .rsvp3-btn-ghost:hover { background: rgba(140, 105, 112, 0.06); }

.dashboard-saas .rsvp3-btn-solid {
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 700;
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  background: #6d0716;
  transition: background 0.15s;
}
.dashboard-saas .rsvp3-btn-solid:hover { background: #580611; }

/* Stat strip */
.dashboard-saas .rsvp3-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid rgba(180, 150, 148, 0.10);
}

.dashboard-saas .rsvp3-strip-item {
  padding: 14px 16px 13px;
  border-right: 1px solid rgba(180, 150, 148, 0.10);
}
.dashboard-saas .rsvp3-strip-item:last-child { border-right: none; }

.dashboard-saas .rsvp3-strip-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  margin-bottom: 7px;
}
.dashboard-saas .dot-invited { background: #3a1f28; }
.dashboard-saas .dot-accepted { background: #740819; }
.dashboard-saas .dot-pending { background: #c97989; }
.dashboard-saas .dot-declined { background: #b88d45; }

.dashboard-saas .rsvp3-strip-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #a08387;
  margin-bottom: 4px;
}

.dashboard-saas .rsvp3-strip-num {
  font-size: 32px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #231a1f;
}

.dashboard-saas .rsvp3-strip-sub {
  margin-top: 4px;
  font-size: 11.5px;
  color: #a08387;
}

/* Body grid */
.dashboard-saas .rsvp3-body {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
}

/* Donut column */
.dashboard-saas .rsvp3-donut-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 22px 8px 18px;
  border-right: 1px solid rgba(180, 150, 148, 0.10);
}

.dashboard-saas .rsvp3-donut {
  width: 158px;
  height: 158px;
  border-radius: 50%;
  position: relative;
  display: grid;
  place-items: center;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.88);
}

.dashboard-saas .rsvp3-donut-hole {
  width: 100px; height: 100px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(120, 94, 98, 0.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8px;
  position: relative;
  z-index: 2;
}

.dashboard-saas .rsvp3-dh-kicker {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #a08387;
}

.dashboard-saas .rsvp3-dh-pct {
  font-size: 26px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: #6f0716;
  margin-top: 3px;
}

.dashboard-saas .rsvp3-dh-sub {
  margin-top: 4px;
  font-size: 10px;
  color: #7d6f73;
  line-height: 1.35;
}

/* Legend */
.dashboard-saas .rsvp3-legend {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  justify-content: center;
  padding: 0 4px;
}

.dashboard-saas .rsvp3-leg-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: #7a6a6e;
}

.dashboard-saas .rsvp3-swatch {
  width: 8px; height: 8px;
  border-radius: 2px;
  display: inline-block;
  flex-shrink: 0;
}
.dashboard-saas .s-accepted { background: #740819; }
.dashboard-saas .s-pending { background: #c97989; }
.dashboard-saas .s-declined { background: #b88d45; }
.dashboard-saas .s-noresponse { background: #d9cec3; }

/* Right panel */
.dashboard-saas .rsvp3-right {
  display: flex;
  flex-direction: column;
}

.dashboard-saas .rsvp3-panel-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: #a08387;
}

/* Trend */
.dashboard-saas .rsvp3-trend {
  padding: 16px 18px 12px;
  border-bottom: 1px solid rgba(180, 150, 148, 0.10);
}

.dashboard-saas .rsvp3-trend-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6px;
}

.dashboard-saas .rsvp3-trend-range { font-size: 11px; color: #c0adaf; }

.dashboard-saas .rsvp3-trend-headline {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
}

.dashboard-saas .rsvp3-trend-num {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #221b1f;
}

.dashboard-saas .rsvp3-trend-delta {
  font-size: 12px;
  font-weight: 600;
  color: #5a8c5a;
}

.dashboard-saas .rsvp3-chart-wrap {
  height: 62px;
  border-radius: 6px;
  overflow: hidden;
}

.dashboard-saas .rsvp3-chart-wrap svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Coverage */
.dashboard-saas .rsvp3-coverage {
  padding: 14px 18px 13px;
  border-bottom: 1px solid rgba(180, 150, 148, 0.10);
}

.dashboard-saas .rsvp3-cov-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.dashboard-saas .rsvp3-cov-goal {
  font-size: 11px;
  font-weight: 600;
  color: #b8a0a4;
}

.dashboard-saas .rsvp3-cov-bar {
  height: 9px;
  border-radius: 999px;
  background: #ede5df;
  overflow: hidden;
  display: flex;
  margin-bottom: 11px;
}

.dashboard-saas .rsvp3-seg { height: 100%; }
.dashboard-saas .rsvp3-seg-acc { background: #740819; }
.dashboard-saas .rsvp3-seg-pen { background: #c97989; }
.dashboard-saas .rsvp3-seg-dec { background: #b88d45; }
.dashboard-saas .rsvp3-seg-nor { background: #d9cec3; }

.dashboard-saas .rsvp3-cov-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

.dashboard-saas .rsvp3-cov-item {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.dashboard-saas .rsvp3-cov-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #a08387;
}

.dashboard-saas .rsvp3-cov-num {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #231a1f;
}

.dashboard-saas .rsvp3-cov-pct {
  font-size: 11px;
  font-weight: 600;
  color: #a08387;
}

/* Expected row */
.dashboard-saas .rsvp3-expected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: #fdf5ee;
}

.dashboard-saas .rsvp3-exp-sub {
  font-size: 11.5px;
  color: #9f8070;
  margin: 2px 0 6px;
}

.dashboard-saas .rsvp3-exp-num {
  font-size: 38px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: #45181d;
}

.dashboard-saas .rsvp3-chase-btn {
  flex-shrink: 0;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 700;
  color: #3a1520;
  padding: 10px 16px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(140, 105, 112, 0.26);
  white-space: nowrap;
  transition: background 0.15s;
}
.dashboard-saas .rsvp3-chase-btn:hover { background: #f7eded; }

/* ── Snapshot v3 Card ────────────────────────────────────────────────────── */
.dashboard-saas .snap3-card { padding: 0; }

.dashboard-saas .snap3-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 16px;
  border-bottom: 1px solid rgba(180, 150, 148, 0.12);
}

.dashboard-saas .snap3-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dashboard-saas .snap3-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: #fdf0f2;
  display: grid;
  place-items: center;
  font-size: 16px;
  color: #8a5060;
  flex-shrink: 0;
}

.dashboard-saas .snap3-title {
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #221b1f;
}

.dashboard-saas .snap3-date-range {
  font-size: 12px;
  color: #9a8689;
}

.dashboard-saas .snap3-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  height: 28px;
  border-radius: 999px;
  background: #ecf5ea;
  color: #5a7f52;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}

.dashboard-saas .snap3-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #6f9b66;
  display: block;
  animation: rsvp3pulse 2.2s ease-in-out infinite;
}

/* Hero: countdown + first event */
.dashboard-saas .snap3-hero {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  background: #fdf7f2;
  border-bottom: 1px solid rgba(180, 150, 148, 0.12);
}

.dashboard-saas .snap3-hero-kicker {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #b09892;
  margin-bottom: 6px;
}

.dashboard-saas .snap3-countdown {
  padding: 16px 14px;
  border-right: 1px solid rgba(180, 150, 148, 0.12);
}

.dashboard-saas .snap3-cd-val {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

.dashboard-saas .snap3-cd-num {
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: #231a1f;
}

.dashboard-saas .snap3-cd-label {
  font-size: 13px;
  font-weight: 600;
  color: #7a6a6e;
}

.dashboard-saas .snap3-cd-empty {
  font-size: 15px;
  color: #b09892;
}

.dashboard-saas .snap3-first-event {
  padding: 16px 14px;
}

.dashboard-saas .snap3-ev-name {
  font-size: 15px;
  font-weight: 700;
  color: #231a1f;
  margin-bottom: 4px;
  line-height: 1.25;
}

.dashboard-saas .snap3-ev-sub {
  font-size: 12px;
  color: #9a8689;
}

/* Tiles */
.dashboard-saas .snap3-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid rgba(180, 150, 148, 0.10);
}

.dashboard-saas .snap3-tile {
  padding: 14px 14px 12px;
  border-right: 1px solid rgba(180, 150, 148, 0.10);
}
.dashboard-saas .snap3-tile:last-child { border-right: none; }

.dashboard-saas .snap3-tile-kicker {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: #a08387;
  margin-bottom: 5px;
}

.dashboard-saas .snap3-tile-num {
  font-size: 26px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #231a1f;
}

.dashboard-saas .snap3-tile-sub {
  margin-top: 4px;
  font-size: 11px;
  color: #9a8689;
  line-height: 1.3;
}

/* KV list */
.dashboard-saas .snap3-kv {
  display: flex;
  flex-direction: column;
}

.dashboard-saas .snap3-kv-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 20px;
  border-bottom: 1px solid rgba(180, 150, 148, 0.09);
}
.dashboard-saas .snap3-kv-item:last-child { border-bottom: none; }

.dashboard-saas .snap3-kv-key {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: #a08387;
  flex-shrink: 0;
  padding-top: 2px;
}

.dashboard-saas .snap3-kv-val {
  font-size: 14px;
  font-weight: 700;
  color: #2f2022;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
}

.dashboard-saas .snap3-kv-sub {
  font-size: 11px;
  font-weight: 400;
  color: #9a8689;
}

/* Footer */
.dashboard-saas .snap3-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  background: #faf5f1;
  border-top: 1px solid rgba(180, 150, 148, 0.12);
}

.dashboard-saas .snap3-footer span {
  font-size: 12px;
  color: #9a8689;
}

.dashboard-saas .snap3-copy-link {
  font-size: 12px;
  font-weight: 700;
  color: #6d0716;
  text-decoration: none;
}
.dashboard-saas .snap3-copy-link:hover { text-decoration: underline; }

/* ── Below-fold cards polish ─────────────────────────────────────────────── */

/* Unify all project-workspace-card below the top row */
.dashboard-saas .project-workspace-card {
  background: #fff !important;
  border: 1px solid rgba(180, 155, 148, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 10px rgba(60, 25, 30, 0.04) !important;
}

.dashboard-saas .project-workspace-card-head h2 {
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #221b1f !important;
}

.dashboard-saas .project-workspace-card-head p {
  font-size: 12.5px !important;
  color: #9a8689 !important;
  margin: 5px 0 0 !important;
}

/* Per-event headcount bars */
.dashboard-saas .event-headcount-track {
  height: 10px !important;
  border-radius: 999px !important;
  background: #f0e8e2 !important;
}

.dashboard-saas .event-headcount-fill.is-ready {
  background: #6d0716 !important;
  border-radius: 999px 0 0 999px !important;
}

.dashboard-saas .event-headcount-fill.is-late {
  background: #c97989 !important;
}

.dashboard-saas .event-headcount-fill.is-unknown {
  background: #d9cec3 !important;
  border-radius: 0 999px 999px 0 !important;
}

.dashboard-saas .event-headcount-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #221b1f !important;
}

.dashboard-saas .event-headcount-sub {
  font-size: 11.5px !important;
  color: #9a8689 !important;
}

.dashboard-saas .event-headcount-total {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #221b1f !important;
}

/* Guest split bars */
.dashboard-saas .guest-split-track {
  height: 8px !important;
  border-radius: 999px !important;
  background: #f0e8e2 !important;
}

.dashboard-saas .guest-split-fill.is-bride { background: #6d0716 !important; }
.dashboard-saas .guest-split-fill.is-groom { background: #b88d45 !important; }
.dashboard-saas .guest-split-fill.is-both { background: #c97989 !important; }

.dashboard-saas .guest-split-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #5a4a4e !important;
  width: 48px !important;
}

.dashboard-saas .guest-split-count {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #221b1f !important;
}

/* Kids blocks */
.dashboard-saas .kids-block {
  border-radius: 4px !important;
}

.dashboard-saas .kids-block.is-boy { background: #b0c4de !important; }
.dashboard-saas .kids-block.is-girl { background: #e8b4b8 !important; }
.dashboard-saas .kids-block.is-unknown { background: #d4c5a4 !important; }
.dashboard-saas .kids-block.is-empty { background: #ede7df !important; }

/* Transport bars */
.dashboard-saas .transport-seg.is-airport { background: #6d0716 !important; border-radius: 999px 0 0 999px !important; }
.dashboard-saas .transport-seg.is-hotel { background: #c97989 !important; }
.dashboard-saas .transport-seg.is-drop { background: #b88d45 !important; border-radius: 0 999px 999px 0 !important; }

/* Stay bars */
.dashboard-saas .stay-night-fill { background: #6d0716 !important; }

.dashboard-saas .stay-night-track {
  height: 8px !important;
  border-radius: 999px !important;
  background: #f0e8e2 !important;
}

/* Team tasks */
.dashboard-saas .team-task-bar {
  height: 8px !important;
  border-radius: 999px !important;
  background: #f0e8e2 !important;
}

.dashboard-saas .team-task-fill {
  background: #6d0716 !important;
  border-radius: 999px !important;
}

.dashboard-saas .team-task-name {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #221b1f !important;
}

/* Sidebar cards */
.dashboard-saas .project-workspace-sidepanel .project-workspace-card {
  border-radius: 16px !important;
}

.dashboard-saas .project-workspace-kv-item span {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #a08387 !important;
}

.dashboard-saas .project-workspace-kv-item strong {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #221b1f !important;
}

/* Next steps */
.dashboard-saas .next-step-dot {
  background: #740819 !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  margin-top: 5px !important;
}

.dashboard-saas .next-step-item {
  gap: 10px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #4a3c40 !important;
}

/* Recent updates tags */
.dashboard-saas .recent-update-tag {
  font-size: 10px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
}

.dashboard-saas .recent-update-tag.is-rsvp { background: #fdf0f2; color: #7e2635; }
.dashboard-saas .recent-update-tag.is-stay { background: #f0f4fe; color: #2d5fa0; }
.dashboard-saas .recent-update-tag.is-transport { background: #f0fdf4; color: #2d7a4a; }
.dashboard-saas .recent-update-tag.is-task { background: #fdf6e0; color: #8a6010; }
.dashboard-saas .recent-update-tag.is-events { background: #f5f0fb; color: #6040a0; }

/* Danger zone */
.dashboard-saas .project-danger-archive {
  border-color: rgba(140, 100, 80, 0.3) !important;
  color: #7a5040 !important;
}

.dashboard-saas .project-danger-delete {
  background: #6d0716 !important;
  color: #fff !important;
  border-color: #6d0716 !important;
}

/* Empty states */
.dashboard-saas .project-workspace-empty {
  font-size: 13px !important;
  color: #b0989c !important;
  padding: 24px 0 !important;
  text-align: center !important;
}

/* Event mini stats */
.dashboard-saas .event-mini-stat {
  background: #fdf7f2 !important;
  border: 1px solid rgba(180, 150, 148, 0.15) !important;
  border-radius: 12px !important;
}

.dashboard-saas .event-mini-stat-kicker {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #a08387 !important;
}

.dashboard-saas .event-mini-stat-value {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #221b1f !important;
}

/* Stay / Transport summary cards */
.dashboard-saas .stay-summary-card,
.dashboard-saas .transport-summary-card {
  background: #fdf7f2 !important;
  border: 1px solid rgba(180, 150, 148, 0.15) !important;
  border-radius: 12px !important;
}

.dashboard-saas .stay-summary-kicker,
.dashboard-saas .transport-summary-kicker {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #a08387 !important;
}

.dashboard-saas .stay-summary-value,
.dashboard-saas .transport-summary-value {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #221b1f !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1340px) {
  .dashboard-saas .project-rsvp-snapshot-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .dashboard-saas .rsvp3-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .dashboard-saas .rsvp3-body {
    grid-template-columns: 1fr;
  }
  .dashboard-saas .rsvp3-donut-col {
    border-right: none;
    border-bottom: 1px solid rgba(180, 150, 148, 0.10);
  }
  .dashboard-saas .snap3-hero {
    grid-template-columns: 1fr;
  }
  .dashboard-saas .snap3-countdown {
    border-right: none;
    border-bottom: 1px solid rgba(180, 150, 148, 0.12);
  }
}

/* ==========================================================================
   RSVP CARD — PREMIUM POLISH PASS
   ========================================================================== */

.rsvp-v2-card{
  border-radius: 30px;
  border: 1px solid rgba(122, 10, 25, 0.08);
  background: linear-gradient(180deg, #fffefe 0%, #fffdfc 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 18px 40px rgba(39, 18, 25, 0.045);
  overflow: hidden;
}

.rsvp-v2-header{
  padding: 20px 22px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom: 1px solid rgba(122, 10, 25, 0.07);
  background: linear-gradient(180deg, #fffefd 0%, #fffaf9 100%);
}

.rsvp-v2-header-left{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.rsvp-v2-header-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  background:#f8e8eb;
  display:grid;
  place-items:center;
  font-size:21px;
  flex:0 0 auto;
}

.rsvp-v2-header-copy h2{
  margin:0 0 5px;
  font-size:19px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#24181d;
}

.rsvp-v2-header-meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  line-height:1.3;
  color:#8f7b7f;
}

.rsvp-v2-live-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#7ca36e;
}

.rsvp-v2-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.rsvp-v2-btn-ghost,
.rsvp-v2-btn-outline{
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  transition:all .16s ease;
}

.rsvp-v2-btn-ghost{
  background:#fff;
  color:#7f6c71;
  border:1px solid rgba(122, 10, 25, 0.12);
}

.rsvp-v2-btn-ghost:hover{
  background:#faf6f5;
  color:#4a3238;
  text-decoration:none;
}

.rsvp-v2-btn-outline{
  background:#8a091c;
  color:#fff;
  border:1px solid #8a091c;
  box-shadow:0 10px 22px rgba(138, 9, 28, 0.14);
}

.rsvp-v2-btn-outline:hover{
  background:#740819;
  border-color:#740819;
  color:#fff;
  text-decoration:none;
}

.rsvp-v2-stats-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  border-bottom:1px solid rgba(122, 10, 25, 0.07);
}

.rsvp-v2-stat-item{
  padding:16px 22px 18px;
  border-right:1px solid rgba(122, 10, 25, 0.07);
  background:#fffdfb;
}

.rsvp-v2-stat-item:last-child{
  border-right:none;
}

.rsvp-v2-stat-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  margin-bottom:10px;
}

.rsvp-v2-stat-kicker{
  margin-bottom:8px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#997f85;
}

.rsvp-v2-stat-num{
  font-size:46px;
  line-height:.92;
  letter-spacing:-0.05em;
  font-weight:800;
  color:#281a20;
}

.rsvp-v2-stat-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.4;
  color:#88767b;
}

/* BODY */
.rsvp-v2-body{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  min-height:520px;
}

.rsvp-v2-donut-col{
  padding:24px 18px 20px;
  border-right:1px solid rgba(122, 10, 25, 0.07);
  background:linear-gradient(180deg, #fffdfc 0%, #fff9f7 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.rsvp-v2-donut{
  width:262px;
  height:262px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.rsvp-v2-donut svg{
  width:100%;
  height:100%;
  display:block;
}

.rsvp-v2-legend{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 14px;
}

.rsvp-v2-legend-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  line-height:1.25;
  color:#776a6e;
}

.rsvp-v2-swatch{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
}

.rsvp-v2-right-panel{
  display:grid;
  grid-template-rows:auto auto auto;
  min-width:0;
}

.rsvp-v2-trend-card{
  padding:18px 20px 16px;
  border-bottom:1px solid rgba(122, 10, 25, 0.07);
  background:#fffdfa;
}

.rsvp-v2-trend-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}

.rsvp-v2-trend-kicker,
.rsvp-v2-breakdown-kicker,
.rsvp-v2-expected-kicker{
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#9a7f85;
}

.rsvp-v2-trend-range,
.rsvp-v2-breakdown-goal{
  font-size:12px;
  color:#ad9398;
}

.rsvp-v2-trend-headline{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:12px;
}

.rsvp-v2-trend-val{
  font-size:44px;
  line-height:.92;
  letter-spacing:-0.05em;
  font-weight:800;
  color:#24181d;
}

.rsvp-v2-trend-delta{
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  color:#75906f;
}

.rsvp-v2-trend-chart{
  height:120px;
  border-radius:18px;
  background:linear-gradient(180deg, #fcf7f4 0%, #fbf4f1 100%);
  border:1px solid rgba(122, 10, 25, 0.06);
  padding:8px 10px 6px;
}

.rsvp-v2-breakdown-card{
  padding:16px 20px 16px;
  border-bottom:1px solid rgba(122, 10, 25, 0.07);
  background:#fffdfb;
}

.rsvp-v2-breakdown-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.rsvp-v2-breakdown-bar{
  height:10px;
  background:#e8ddd4;
  border-radius:999px;
  overflow:hidden;
  display:flex;
  margin-bottom:16px;
}

.rsvp-v2-breakdown-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}

.rsvp-v2-bd-item{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.rsvp-v2-bd-kicker{
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9b8287;
}

.rsvp-v2-bd-num{
  font-size:20px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#26191f;
}

.rsvp-v2-bd-pct{
  font-size:12px;
  line-height:1.3;
  color:#8c787d;
}

.rsvp-v2-expected-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  background:linear-gradient(180deg, #fdf3f1 0%, #fbefec 100%);
}

.rsvp-v2-expected-left{
  min-width:0;
}

.rsvp-v2-expected-sub{
  margin-top:6px;
  font-size:14px;
  line-height:1.4;
  color:#796c71;
}

.rsvp-v2-expected-num{
  margin-top:10px;
  font-size:50px;
  line-height:.92;
  letter-spacing:-0.055em;
  font-weight:800;
  color:#561b23;
}

.rsvp-v2-chase-btn{
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(122, 10, 25, 0.14);
  color:#3f1d24;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}

.rsvp-v2-chase-btn:hover{
  background:#faf6f5;
  text-decoration:none;
}

/* better empty density */
.rsvp-v2-card .chart-empty{
  min-height:120px;
  border:none;
  background:transparent;
  color:#99868a;
}

/* responsive */
@media (max-width: 1180px){
  .rsvp-v2-body{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .rsvp-v2-donut-col{
    border-right:none;
    border-bottom:1px solid rgba(122, 10, 25, 0.07);
  }
}

@media (max-width: 760px){
  .rsvp-v2-stats-strip,
  .rsvp-v2-breakdown-stats{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .rsvp-v2-header,
  .rsvp-v2-expected-row{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 560px){
  .rsvp-v2-stats-strip,
  .rsvp-v2-breakdown-stats{
    grid-template-columns:1fr;
  }

  .rsvp-v2-stat-item{
    border-right:none;
    border-bottom:1px solid rgba(122, 10, 25, 0.07);
  }

  .rsvp-v2-stat-item:last-child{
    border-bottom:none;
  }
}






/* ==========================================================================
   GLOBAL TYPE RESET — MANROPE SYSTEM
   Titles: 18–22pt
   Card/KPIs: 10–12pt
   Labels/Footnotes: 8–9pt
   ========================================================================== */

:root{
  --font-ui: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --fs-title-lg: 22pt;
  --fs-title-md: 18pt;

  --fs-card: 11pt;
  --fs-card-sm: 10pt;

  --fs-label: 8.5pt;
  --fs-foot: 9pt;
}

html{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
button,
input,
select,
textarea{
  font-family: var(--font-ui);
  font-size: var(--fs-card);
  line-height: 1.42;
  color: #271d21;
}

/* page titles */
h1,
.page-head h1,
.page-title h1,
.dash-hero-copy h1,
.project-workspace-title-copy h1{
  font-family: var(--font-ui);
  font-size: var(--fs-title-lg);
  line-height: 1.04;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: #20171b;
  margin: 0;
}

h2,
.project-analytics-section-head h2,

.rsvp-v2-header-copy h2,
.snap-v2-header-copy h2{
  font-family: var(--font-ui);
  font-size: var(--fs-title-md);
  line-height: 1.08;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: #241a1e;
  margin: 0;
}

/* general card text */
p,
.card p,
.project-workspace-card p,
.metric-sub,
.kpi-sub,
.snap-v2-tile-sub,

/* small labels / kickers */
.overline,
.eyebrow,
.kicker,
.metric-label,
.kpi-label,
.rsvp-v2-stat-kicker,
.rsvp-v2-bd-kicker,

.snap-v2-kv-key,
.snap-v2-tile-kicker,
.snap-v2-hero-kicker,
.project-analytics-section-head h2{
  font-size: var(--fs-label);
  line-height: 1.15;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
}

/* footnotes / helper copy */
small,
.helper-text,
.muted,
.subtle,
.footnote{
  font-size: var(--fs-foot);
  line-height: 1.35;
}

/* buttons */
.btn,
button,
input[type="submit"],
input[type="button"]{
  font-family: var(--font-ui);
  font-size: var(--fs-card-sm);
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* sidebar and nav */
.sidebar,
.project-sidebar,
.app-sidebar,
nav,
.sidebar a,
.project-sidebar a{
  font-family: var(--font-ui);
  font-size: var(--fs-card-sm);
}

.sidebar .brand,
.project-sidebar .brand{
  font-size: 16pt;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* KPI values */
.metric-value,
.kpi-value,
.stat-value,
.snap-v2-tile-num,


/* if older RSVP card variant is still used anywhere */
.rsvp-v2-header-icon img{
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
}



/* project snapshot card tightening */
.snap-v2-header-copy h2{
  font-size: 18pt;
}

.snap-v2-date-range,
.snap-v2-kv-sub,
.snap-v2-tile-sub{
  font-size: 9pt;
}

.snap-v2-tile-num{
  font-size: 18pt;
}

.snap-v2-kv-val{
  font-size: 11pt;
}

/* overall softer density */
.project-workspace-card,
.card,
.project-card,
.task-card,
.team-card{
  font-size: var(--fs-card-sm);
}




/* =========================================
   TOP ROW BALANCE FIX
   ========================================= */

.project-rsvp-snapshot-row{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(330px,0.92fr);
  gap:20px;
  align-items:stretch;
}





/* responsive */
@media (max-width: 1240px){
  .project-rsvp-snapshot-row{
    grid-template-columns:1fr;
  } }

/* =========================================================
   PROJECT SHOW — RSVP + SNAPSHOT TOP ROW
   Clean consolidated version
   ========================================================= */

.dashboard-saas .project-rsvp-snapshot-row{
  display:grid;
  grid-template-columns:minmax(0, 1.58fr) minmax(360px, 0.92fr);
  gap:24px;
  align-items:stretch;
  margin-bottom:22px;
}

/* shared top-row card language */
.dashboard-saas .project-rsvp-snapshot-row > .rsvp-simple-card,
.dashboard-saas .project-rsvp-snapshot-row > .snap3-card{
  min-height:100%;
  background:#fffdfc;
  border:1px solid rgba(122, 10, 25, 0.10);
  border-radius:28px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.88) inset,
    0 14px 32px rgba(35, 20, 26, 0.04);
  overflow:hidden;
}

/* ---------------------------------------------------------
   RSVP card
   --------------------------------------------------------- */

.dashboard-saas .rsvp-simple-card{
  display:flex;
  flex-direction:column;
}

.dashboard-saas .rsvp-simple-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px 18px;
  border-bottom:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .rsvp-simple-title{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.dashboard-saas .rsvp-simple-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f7e9eb;
  flex:0 0 48px;
}

.dashboard-saas .rsvp-simple-icon img{
  width:20px;
  height:20px;
  display:block;
  object-fit:contain;
}

.dashboard-saas .rsvp-simple-title h2{
  margin:0;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:17px;
  line-height:1.1;
  letter-spacing:-0.02em;
  font-weight:800;
  color:#241c20;
}

.dashboard-saas .rsvp-simple-header-btn,
.dashboard-saas .rsvp-simple-footer-btn{
  min-height:40px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  white-space:nowrap;
  background:#fff;
  border:1px solid rgba(56, 43, 49, 0.26);
  color:#372a2f;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:14px;
  line-height:1;
  font-weight:700;
  transition:
    background .16s ease,
    border-color .16s ease,
    transform .16s ease;
}

.dashboard-saas .rsvp-simple-header-btn:hover,
.dashboard-saas .rsvp-simple-footer-btn:hover{
  background:#faf6f5;
  border-color:rgba(56, 43, 49, 0.38);
  text-decoration:none;
  transform:translateY(-1px);
}

.dashboard-saas .rsvp-simple-stats-row{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  padding:18px 24px 0;
}

.dashboard-saas .rsvp-simple-stat-card{
  border:1px solid rgba(122, 10, 25, 0.08);
  border-radius:22px;
  background:#fff;
  padding:16px 18px 15px;
  min-height:112px;
}

.dashboard-saas .rsvp-simple-stat-label{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:11px;
  line-height:1.15;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a7f86;
  padding-bottom:8px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(122, 10, 25, 0.16);
}

.dashboard-saas .rsvp-simple-stat-value{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:34px;
  line-height:0.95;
  letter-spacing:-0.045em;
  font-weight:800;
  color:#332229;
}

.dashboard-saas .rsvp-simple-stat-sub{
  margin-top:6px;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  line-height:1.35;
  font-weight:500;
  color:#8d7980;
}

.dashboard-saas .rsvp-simple-donut-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 24px 18px;
  min-height:320px;
}

.dashboard-saas .rsvp-simple-donut{
  width:280px;
  max-width:100%;
  aspect-ratio:1 / 1;
}

.dashboard-saas .rsvp-simple-donut svg{
  width:100%;
  height:100%;
  display:block;
}

.dashboard-saas .rsvp-simple-donut svg text{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif !important;
}

.dashboard-saas .rsvp-simple-donut .donut-kicker,
.dashboard-saas .rsvp-simple-donut .chart-kicker,
.dashboard-saas .rsvp-simple-donut .center-kicker{
  font-size:11px !important;
  letter-spacing:0.14em;
  font-weight:800;
  text-transform:uppercase;
  fill:#9a7f86 !important;
}

.dashboard-saas .rsvp-simple-donut .donut-value,
.dashboard-saas .rsvp-simple-donut .chart-value,
.dashboard-saas .rsvp-simple-donut .center-value{
  font-size:34px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-0.045em;
  fill:#6d0716 !important;
}

.dashboard-saas .rsvp-simple-donut .donut-sub,
.dashboard-saas .rsvp-simple-donut .chart-sub,
.dashboard-saas .rsvp-simple-donut .center-sub{
  font-size:12px !important;
  font-weight:500 !important;
  fill:#8b787d !important;
}

.dashboard-saas .rsvp-simple-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 24px 20px;
  border-top:1px solid rgba(122, 10, 25, 0.08);
  background:#fffaf8;
}

.dashboard-saas .rsvp-simple-footer-copy{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:13px;
  line-height:1.4;
  font-weight:500;
  color:#5f5055;
}

/* ---------------------------------------------------------
   Snapshot card
   --------------------------------------------------------- */

.dashboard-saas .snap3-card{
  display:flex;
  flex-direction:column;
}

.dashboard-saas .snap3-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:22px 24px 18px;
  border-bottom:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-header-left{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}

.dashboard-saas .snap3-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#f8ecec;
  color:#8b4c58;
  font-size:15px;
  flex:0 0 38px;
}

.dashboard-saas .snap3-title{
  margin:0;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:17px;
  line-height:1.1;
  letter-spacing:-0.02em;
  font-weight:800;
  color:#241c20;
}

.dashboard-saas .snap3-date-range{
  margin-top:4px;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  line-height:1.35;
  font-weight:500;
  color:#938186;
}

.dashboard-saas .snap3-live-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#edf2e8;
  color:#62825c;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

.dashboard-saas .snap3-live-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#b8cab1;
}

.dashboard-saas .snap3-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-bottom:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-countdown,
.dashboard-saas .snap3-first-event{
  padding:18px 20px;
}

.dashboard-saas .snap3-countdown{
  border-right:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-hero-kicker,
.dashboard-saas .snap3-tile-kicker,
.dashboard-saas .snap3-kv-key{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:11px;
  line-height:1.15;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a7f86;
}

.dashboard-saas .snap3-cd-val{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin-top:10px;
}

.dashboard-saas .snap3-cd-num{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:52px;
  line-height:0.9;
  letter-spacing:-0.05em;
  font-weight:800;
  color:#2a1d23;
}

.dashboard-saas .snap3-cd-label,
.dashboard-saas .snap3-cd-empty{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:13px;
  line-height:1.3;
  font-weight:500;
  color:#7c6f73;
}

.dashboard-saas .snap3-ev-name{
  margin-top:8px;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:15px;
  line-height:1.35;
  font-weight:800;
  color:#2a1d23;
}

.dashboard-saas .snap3-ev-sub{
  margin-top:4px;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  line-height:1.4;
  font-weight:500;
  color:#8c7b80;
}

.dashboard-saas .snap3-tiles{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  border-bottom:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-tile{
  padding:16px 18px;
}

.dashboard-saas .snap3-tile:not(:last-child){
  border-right:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-tile-num{
  margin-top:8px;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:32px;
  line-height:0.95;
  letter-spacing:-0.04em;
  font-weight:800;
  color:#2a1d23;
}

.dashboard-saas .snap3-tile-sub{
  margin-top:5px;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  line-height:1.35;
  font-weight:500;
  color:#8c7b80;
}

.dashboard-saas .snap3-kv{
  display:grid;
  grid-template-columns:1fr;
}

.dashboard-saas .snap3-kv-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:15px 18px;
  border-bottom:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-kv-item:last-child{
  border-bottom:none;
}

.dashboard-saas .snap3-kv-val{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  text-align:right;
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  color:#2a1d23;
}

.dashboard-saas .snap3-kv-sub{
  font-size:11px;
  line-height:1.3;
  font-weight:500;
  color:#9a8689;
}

.dashboard-saas .snap3-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  background:#faf5f1;
  border-top:1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-footer span{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  line-height:1.35;
  color:#9a8689;
}

.dashboard-saas .snap3-copy-link{
  font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:700;
  color:#6d0716;
  text-decoration:none;
}

.dashboard-saas .snap3-copy-link:hover{
  text-decoration:underline;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1240px){
  .dashboard-saas .project-rsvp-snapshot-row{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .dashboard-saas .rsvp-simple-header,
  .dashboard-saas .rsvp-simple-footer,
  .dashboard-saas .snap3-header,
  .dashboard-saas .snap3-footer{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .rsvp-simple-stats-row{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .dashboard-saas .rsvp-simple-donut{
    width:240px;
  }

  .dashboard-saas .rsvp-simple-donut-stage{
    min-height:260px;
    padding-top:10px;
  }

  .dashboard-saas .snap3-hero{
    grid-template-columns:1fr;
  }

  .dashboard-saas .snap3-countdown{
    border-right:none;
    border-bottom:1px solid rgba(122, 10, 25, 0.08);
  }
}

@media (max-width: 560px){
  .dashboard-saas .rsvp-simple-stats-row,
  .dashboard-saas .snap3-tiles{
    grid-template-columns:1fr;
  }

  .dashboard-saas .snap3-tile:not(:last-child){
    border-right:none;
    border-bottom:1px solid rgba(122, 10, 25, 0.08);
  }

  .dashboard-saas .snap3-kv-item{
    flex-direction:column;
    align-items:flex-start;
  }

  .dashboard-saas .snap3-kv-val{
    align-items:flex-start;
    text-align:left;
  }
}

/* =========================================================
   GLOBAL FONT — MANROPE EVERYWHERE
   ========================================================= */

html,
body{
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

button,
input,
select,
textarea{
  font: inherit;
}

h1, h2, h3, h4, h5, h6,
.btn,
.brand-name,
.dashboard-saas .brand-name,
.dashboard-company .brand-name,
.auth-brand{
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-style: normal;
}

/* =========================================================
   PROJECT TOP ROW — COMPACT PASS
   ========================================================= */

.dashboard-saas .project-rsvp-snapshot-row{
  display: grid;
  grid-template-columns: minmax(0, 1.58fr) minmax(320px, 0.88fr);
  gap: 20px;
  align-items: start;
}

.dashboard-saas .project-rsvp-snapshot-row > .rsvp-simple-card,
.dashboard-saas .project-rsvp-snapshot-row > .snap3-card{
  min-height: 0;
}

/* =========================================================
   LEFT CARD — RSVP ANALYTICS
   Reduce inner spacing so it feels tighter like the right card
   ========================================================= */

.dashboard-saas .rsvp-simple-header{
  padding: 18px 18px 14px;
}

.dashboard-saas .rsvp-simple-title{
  gap: 12px;
}

.dashboard-saas .rsvp-simple-icon{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  flex: 0 0 42px;
}

.dashboard-saas .rsvp-simple-icon img{
  width: 18px;
  height: 18px;
}

.dashboard-saas .rsvp-simple-title h2{
  font-size: 16px;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.dashboard-saas .rsvp-simple-header-btn,
.dashboard-saas .rsvp-simple-footer-btn{
  min-height: 38px;
  padding: 0 16px;
  font-size: 13px;
}

.dashboard-saas .rsvp-simple-stats-row{
  gap: 12px;
  padding: 14px 18px 0;
}

.dashboard-saas .rsvp-simple-stat-card{
  min-height: 98px;
  padding: 14px 14px 12px;
  border-radius: 18px;
}

.dashboard-saas .rsvp-simple-stat-label{
  font-size: 10px;
  padding-bottom: 6px;
  margin-bottom: 8px;
}

.dashboard-saas .rsvp-simple-stat-value{
  font-size: 28px;
  line-height: 0.95;
}

.dashboard-saas .rsvp-simple-stat-sub{
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.3;
}

.dashboard-saas .rsvp-simple-donut-stage{
  min-height: 250px;
  padding: 8px 18px 10px;
}

.dashboard-saas .rsvp-simple-donut{
  width: 250px;
  max-width: 100%;
}

.dashboard-saas .rsvp-simple-footer{
  padding: 12px 18px 14px;
  gap: 12px;
}

.dashboard-saas .rsvp-simple-footer-copy{
  font-size: 12px;
  line-height: 1.35;
}

/* =========================================================
   RIGHT CARD — PROJECT SNAPSHOT
   Remove countdown, children, last update, footer link
   Keep first event + core tiles + guest estimate
   ========================================================= */

.dashboard-saas .snap3-header{
  padding: 18px 18px 14px;
}

.dashboard-saas .snap3-title{
  font-size: 16px;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.dashboard-saas .snap3-date-range{
  font-size: 12px;
}

.dashboard-saas .snap3-countdown{
  display: none;
}

.dashboard-saas .snap3-hero{
  grid-template-columns: 1fr;
}

.dashboard-saas .snap3-first-event{
  padding: 16px 18px 14px;
}

.dashboard-saas .snap3-ev-name{
  font-size: 14px;
  line-height: 1.3;
}

.dashboard-saas .snap3-ev-sub{
  font-size: 12px;
  line-height: 1.35;
}

.dashboard-saas .snap3-tiles{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-saas .snap3-tile{
  padding: 14px 16px 12px;
}

.dashboard-saas .snap3-tile-kicker{
  font-size: 10px;
}

.dashboard-saas .snap3-tile-num{
  font-size: 28px;
  line-height: 0.95;
}

.dashboard-saas .snap3-tile-sub{
  font-size: 11px;
  line-height: 1.3;
}

/* keep only guest estimate row */
.dashboard-saas .snap3-kv-item{
  padding: 14px 18px;
}

.dashboard-saas .snap3-kv-item:nth-child(2),
.dashboard-saas .snap3-kv-item:nth-child(3){
  display: none;
}

.dashboard-saas .snap3-kv-item:first-child{
  border-bottom: none;
}

.dashboard-saas .snap3-kv-key{
  font-size: 10px;
}

.dashboard-saas .snap3-kv-val{
  font-size: 13px;
}

.dashboard-saas .snap3-kv-sub{
  font-size: 11px;
}

.dashboard-saas .snap3-footer{
  display: none;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1240px){
  .dashboard-saas .project-rsvp-snapshot-row{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
  .dashboard-saas .rsvp-simple-header,
  .dashboard-saas .rsvp-simple-footer,
  .dashboard-saas .snap3-header{
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-saas .rsvp-simple-stats-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-saas .snap3-tiles{
    grid-template-columns: 1fr;
  }

  .dashboard-saas .snap3-tile:not(:last-child){
    border-right: none;
    border-bottom: 1px solid rgba(122, 10, 25, 0.08);
  }
}

@media (max-width: 560px){
  .dashboard-saas .rsvp-simple-stats-row{
    grid-template-columns: 1fr;
  }

  .dashboard-saas .rsvp-simple-donut{
    width: 220px;
  }
}

/* =========================================================
   PROJECT SNAPSHOT — polished event list pass
   ========================================================= */

.dashboard-saas .snap3-icon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #f8ecec;
  flex: 0 0 42px;
}

.dashboard-saas .snap3-icon img{
  width: 18px;
  height: 18px;
  display: block;
  object-fit: contain;
}

.dashboard-saas .snap3-events-list{
  display: grid;
  border-top: 1px solid rgba(122, 10, 25, 0.08);
  border-bottom: 1px solid rgba(122, 10, 25, 0.08);
  background: #fbf7f4;
}

.dashboard-saas .snap3-event-item{
  padding: 16px 18px 15px;
}

.dashboard-saas .snap3-event-item:not(:last-child){
  border-bottom: 1px solid rgba(122, 10, 25, 0.08);
}

.dashboard-saas .snap3-event-kicker{
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 10px;
  line-height: 1.15;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 800;
  color: #9a7f86;
}

.dashboard-saas .snap3-event-name{
  margin-top: 8px;
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #2a1d23;
}

.dashboard-saas .snap3-event-meta{
  margin-top: 4px;
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  color: #7d6d73;
}

.dashboard-saas .snap3-event-sub{
  margin-top: 4px;
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 500;
  color: #958287;
}

.dashboard-saas .snap3-tiles{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-saas .snap3-tile{
  min-height: 108px;
}

.dashboard-saas .snap3-tile-kicker{
  font-size: 10px;
}

.dashboard-saas .snap3-tile-num{
  margin-top: 10px;
  font-size: 28px;
  line-height: 0.95;
}

.dashboard-saas .snap3-tile-sub{
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.35;
}

.dashboard-saas .snap3-kv,
.dashboard-saas .snap3-footer,
.dashboard-saas .snap3-countdown{
  display: none !important;
}

@media (max-width: 760px){
  .dashboard-saas .snap3-tiles{
    grid-template-columns: 1fr;
  }

  .dashboard-saas .snap3-tile:not(:last-child){
    border-right: none;
    border-bottom: 1px solid rgba(122, 10, 25, 0.08);
  }
}

/* =========================================================
   TRANSPORT OVERVIEW — compact planning card
   ========================================================= */

.dashboard-saas .transport-overview-shell{
  display:grid;
  grid-template-columns:minmax(320px, 1.15fr) minmax(0, 1fr);
  gap:16px;
  align-items:stretch;
}

.dashboard-saas .transport-cars-card{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:18px;
  border-radius:20px;
  background:#fffdf9;
  border:1px solid rgba(17,24,39,0.07);
  box-shadow:0 8px 20px rgba(17,24,39,0.03);
}

.dashboard-saas .transport-cars-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  background:#f7f2f1;
  border:1px solid rgba(17,24,39,0.06);
  display:grid;
  place-items:center;
  flex:0 0 46px;
}

.dashboard-saas .transport-cars-icon img{
  width:20px;
  height:20px;
  display:block;
  object-fit:contain;
}

.dashboard-saas .transport-cars-copy{
  min-width:0;
}

.dashboard-saas .transport-cars-title{
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  color:#17181d;
}

.dashboard-saas .transport-cars-chip-row{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.dashboard-saas .transport-chip{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  background:#ececed;
  color:#525862;
  font-size:13px;
  line-height:1;
  font-weight:800;
}

.dashboard-saas .transport-chip.is-primary{
  background:#f0cf67;
  color:#5a4300;
}

.dashboard-saas .transport-cars-meta{
  margin-top:14px;
  font-size:13px;
  line-height:1.55;
  color:#5e6670;
}

.dashboard-saas .transport-cars-rule{
  margin-top:8px;
  font-size:13px;
  line-height:1.55;
  color:#5e6670;
}

.dashboard-saas .transport-kpi-stack{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.dashboard-saas .transport-kpi-card{
  padding:16px;
  border-radius:18px;
  background:#fbf7f1;
  border:1px solid rgba(17,24,39,0.06);
  min-height:142px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.dashboard-saas .transport-kpi-kicker{
  font-size:11px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#8f7b6b;
  font-weight:800;
}

.dashboard-saas .transport-kpi-value{
  margin-top:12px;
  font-size:36px;
  line-height:0.95;
  font-weight:800;
  letter-spacing:-0.04em;
  color:#2d1117;
}

.dashboard-saas .transport-kpi-sub{
  margin-top:10px;
  font-size:12px;
  line-height:1.45;
  color:#6b717a;
}

@media (max-width: 1220px){
  .dashboard-saas .transport-overview-shell{
    grid-template-columns:1fr;
  }
}

@media (max-width: 820px){
  .dashboard-saas .transport-kpi-stack{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   TRANSPORT OVERVIEW — polished card pass
   ========================================================= */

.dashboard-saas .transport-overview-card{
  padding: 18px 18px 20px;
}

.dashboard-saas .transport-overview-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.dashboard-saas .transport-overview-top-left{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.dashboard-saas .transport-overview-top-icon{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
}

.dashboard-saas .transport-overview-top-icon img{
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
}

.dashboard-saas .transport-overview-top-copy h2{
  margin: 0;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 800;
  color: #1c1d21;
}

.dashboard-saas .transport-overview-top-copy p{
  margin: 4px 0 0 0;
  font-size: 12px;
  line-height: 1.35;
  color: #7e7f86;
}

.dashboard-saas .transport-overview-top-btn{
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(56, 43, 49, 0.28);
  color: #372a2f;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.dashboard-saas .transport-overview-top-btn:hover{
  background: #faf8f7;
  border-color: rgba(56, 43, 49, 0.40);
  text-decoration: none;
  transform: translateY(-1px);
}

.dashboard-saas .transport-overview-divider{
  height: 1px;
  margin: 14px 0 16px;
  background: rgba(122, 10, 25, 0.10);
}

.dashboard-saas .transport-overview-summary-band{
  padding: 14px 16px 14px;
  border-radius: 16px;
  background: #fbf8f6;
  border: 1px solid rgba(17, 24, 39, 0.05);
}

.dashboard-saas .transport-overview-summary-kicker{
  font-size: 10px;
  line-height: 1.15;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-weight: 800;
  color: #9a8f92;
}

.dashboard-saas .transport-overview-summary-chip-row{
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.dashboard-saas .transport-overview-pill{
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eceaed;
  color: #4d525c;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
}

.dashboard-saas .transport-overview-pill.is-primary{
  background: #f4e6e4;
  color: #4e3a38;
}

.dashboard-saas .transport-overview-summary-meta{
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  line-height: 1.45;
  color: #7b8089;
}

.dashboard-saas .transport-overview-meta-dot{
  color: #a0a5ad;
}

.dashboard-saas .transport-overview-stats-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.dashboard-saas .transport-overview-stat-card{
  padding: 14px 16px 14px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.05);
  min-height: 126px;
  display: flex;
  flex-direction: column;
}

.dashboard-saas .transport-overview-stat-kicker{
  padding-bottom: 8px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(122, 10, 25, 0.14);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-weight: 800;
  color: #9a8f92;
}

.dashboard-saas .transport-overview-stat-value{
  font-size: 30px;
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: #2a1218;
}

.dashboard-saas .transport-overview-stat-sub{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.4;
  color: #7c828b;
}

@media (max-width: 900px){
  .dashboard-saas .transport-overview-top{
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-saas .transport-overview-stats-grid{
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   ACCOMMODATION OVERVIEW — polished reference pass
   ========================================================= */

.dashboard-saas .accommodation-overview-card{
  padding: 18px 18px 20px;
}

.dashboard-saas .accommodation-overview-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.dashboard-saas .accommodation-overview-top-left{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.dashboard-saas .accommodation-overview-top-icon{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
}

.dashboard-saas .accommodation-overview-top-icon img{
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
}

.dashboard-saas .accommodation-overview-top-copy h2{
  margin: 0;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 800;
  color: #1c1d21;
}

.dashboard-saas .accommodation-overview-top-copy p{
  margin: 4px 0 0 0;
  font-size: 12px;
  line-height: 1.35;
  color: #7e7f86;
}

.dashboard-saas .accommodation-overview-top-btn{
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(56, 43, 49, 0.28);
  color: #372a2f;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.dashboard-saas .accommodation-overview-top-btn:hover{
  background: #faf8f7;
  border-color: rgba(56, 43, 49, 0.40);
  text-decoration: none;
  transform: translateY(-1px);
}

.dashboard-saas .accommodation-overview-divider{
  height: 1px;
  margin: 14px 0 16px;
  background: rgba(122, 10, 25, 0.10);
}

.dashboard-saas .accommodation-overview-chart-card{
  padding: 14px 16px 16px;
  border-radius: 18px;
  background: #fbf8f6;
  border: 1px solid rgba(17, 24, 39, 0.05);
}

.dashboard-saas .accommodation-overview-chart-kicker{
  padding-bottom: 8px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(122, 10, 25, 0.12);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-weight: 800;
  color: #9a8f92;
}

.dashboard-saas .accommodation-overview-list{
  display: grid;
  gap: 14px;
}



.dashboard-saas .accommodation-overview-meta span{
  font-size: 13px;
  line-height: 1.2;
  color: #707780;
}



@media (max-width: 980px){
  .dashboard-saas .accommodation-overview-top{
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-saas .accommodation-overview-row{
    grid-template-columns: 78px minmax(0, 1fr) 110px;
    gap: 12px;
  }

  .dashboard-saas .accommodation-overview-stats-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .dashboard-saas .accommodation-overview-row{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .dashboard-saas .accommodation-overview-meta{
    align-items: flex-start;
    text-align: left;
  }
}

/* =========================================================
   ACCOMMODATION ROW CHIPS — clearer scan pass
   ========================================================= */



  

/* =========================================================
   ACCOMMODATION ROWS — hard override to match reference
   ========================================================= */

.dashboard-saas .accommodation-overview-list{
  display: grid !important;
  gap: 22px !important;
}



.dashboard-saas .accommodation-overview-row-top{
  display: grid !important;
  grid-template-columns: minmax(120px, 150px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 10px !important;
}

.dashboard-saas .accommodation-overview-date{
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #8e8a8d !important;
  white-space: nowrap !important;
}

.dashboard-saas .accommodation-overview-meta{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  grid-column: 2 / 3 !important;
}

.dashboard-saas .accommodation-overview-chip{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.dashboard-saas .accommodation-overview-chip.is-rooms{
  background: #ece7ea !important;
  color: #847b82 !important;
}

.dashboard-saas .accommodation-overview-chip.is-guests{
  background: #f2e7ed !important;
  color: #917985 !important;
}

.dashboard-saas .accommodation-overview-track{
  display: block !important;
  width: 100% !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #e6dfdc !important;
  overflow: hidden !important;
}

.dashboard-saas .accommodation-overview-fill{
  display: block !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: #8b0016 !important;
}

@media (max-width: 760px){
  .dashboard-saas .accommodation-overview-row-top{
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .dashboard-saas .accommodation-overview-meta{
    grid-column: auto !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}

/* =========================================================
   ACCOMMODATION CARD — final row/layout fix
   ========================================================= */

.dashboard-saas .accommodation-overview-list{
  display:grid !important;
  gap:18px !important;
}


.dashboard-saas .accommodation-overview-row-top{
  display:grid !important;
  grid-template-columns: 1fr auto !important;
  align-items:center !important;
  gap:16px !important;
  width:100% !important;
}

.dashboard-saas .accommodation-overview-date{
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:0.06em !important;
  text-transform:uppercase !important;
  color:#8c878c !important;
  white-space:nowrap !important;
}

.dashboard-saas .accommodation-overview-meta{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}

.dashboard-saas .accommodation-overview-chip{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:6px 12px !important;
  border-radius:999px !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

.dashboard-saas .accommodation-overview-chip.is-rooms{
  background:#ece7ea !important;
  color:#857b82 !important;
}

.dashboard-saas .accommodation-overview-chip.is-guests{
  background:#f2e7ed !important;
  color:#927a86 !important;
}

.dashboard-saas .accommodation-overview-track{
  width:100% !important;
  height:8px !important;
  border-radius:999px !important;
  background:#e6dfdc !important;
  overflow:hidden !important;
}

.dashboard-saas .accommodation-overview-fill{
  display:block !important;
  height:100% !important;
  border-radius:999px !important;
  background:#8b0016 !important;
}

.dashboard-saas .accommodation-overview-stats-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  margin-top:16px !important;
}

.dashboard-saas .accommodation-overview-stat-card{
  padding:16px 18px 18px !important;
  border-radius:18px !important;
  background:#ffffff !important;
  border:1px solid rgba(17,24,39,0.05) !important;
}

.dashboard-saas .accommodation-overview-stat-kicker{
  padding-bottom:8px !important;
  margin-bottom:10px !important;
  border-bottom:1px solid rgba(122, 10, 25, 0.14) !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  color:#9a8f92 !important;
}

.dashboard-saas .accommodation-overview-stat-value{
  font-size:30px !important;
  line-height:0.95 !important;
  letter-spacing:-0.04em !important;
  font-weight:800 !important;
  color:#241c20 !important;
}

.dashboard-saas .accommodation-overview-stat-sub{
  margin-top:8px !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:#717782 !important;
}

@media (max-width: 760px){
  .dashboard-saas .accommodation-overview-row-top{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  
}

/* =========================================================
   ACCOMMODATION OVERVIEW — final consolidated layout
   ========================================================= */

.dashboard-saas .accommodation-overview-list{
  display:grid;
  gap:22px;
}

.dashboard-saas .accommodation-overview-row{
  display:grid;
  gap:12px;
}

.dashboard-saas .accommodation-overview-row-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
}

.dashboard-saas .accommodation-overview-date{
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#8d878c;
  white-space:nowrap;
}

.dashboard-saas .accommodation-overview-meta{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
  white-space:nowrap;
}

.dashboard-saas .accommodation-overview-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.dashboard-saas .accommodation-overview-chip.is-rooms{
  background:#ece7ea;
  color:#857b82;
}

.dashboard-saas .accommodation-overview-chip.is-guests{
  background:#f3e8ee;
  color:#927a86;
}

.dashboard-saas .accommodation-overview-track{
  width:100%;
  height:8px;
  border-radius:999px;
  background:#e6dfdc;
  overflow:hidden;
}

.dashboard-saas .accommodation-overview-fill{
  display:block;
  height:100%;
  border-radius:999px;
  background:#8b0016;
}

.dashboard-saas .accommodation-overview-stats-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:18px;
}

.dashboard-saas .accommodation-overview-stat-card{
  min-width:0;
  padding:16px 18px 18px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(17,24,39,0.05);
}

.dashboard-saas .accommodation-overview-stat-kicker{
  padding-bottom:8px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(122, 10, 25, 0.14);
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a8f92;
}

.dashboard-saas .accommodation-overview-stat-value{
  font-size:24px;
  line-height:1.02;
  letter-spacing:-0.03em;
  font-weight:800;
  color:#241c20;
  white-space:nowrap;
}

.dashboard-saas .accommodation-overview-stat-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:#717782;
}

@media (max-width: 900px){
  .dashboard-saas .accommodation-overview-row-top{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .dashboard-saas .accommodation-overview-meta{
    margin-left:0;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .dashboard-saas .accommodation-overview-stats-grid{
    grid-template-columns:1fr;
  }
}

.dashboard-saas .accommodation-overview-stat-value{
  font-size: 24px !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  color: #241c20 !important;
  white-space: nowrap !important;
}
dashboard-saas .accommodation-overview-stat-value{
  font-size:24px !important;
  line-height:1.05 !important;
  letter-spacing:-0.03em !important;
  font-weight:800 !important;
  color:#241c20 !important;
  white-space:nowrap !important;
}

.dashboard-saas .accommodation-overview-stat-unit{
  font-size:0.82em;
  font-weight:700;
  letter-spacing:-0.01em;
}

/* =========================================================
   COMPANY TEAM PAGE
   ========================================================= */

.company-team-surface{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.company-team-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.company-team-title{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.company-team-ico{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f7ecee;
  font-size:22px;
  flex:0 0 48px;
}

.company-team-h1{
  margin:0;
  font-size:28px;
  line-height:1.1;
  font-weight:800;
  color:#1f1f22;
}

.company-team-sub{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.55;
  color:#6f6f73;
  max-width:760px;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-weight:700;
}

.company-team-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.company-team-kpi{
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(17,24,39,0.05);
  background:#fff;
}

.company-team-kpi-kicker{
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a8f92;
}

.company-team-kpi-value{
  margin-top:12px;
  font-size:36px;
  line-height:0.95;
  letter-spacing:-0.04em;
  font-weight:800;
  color:#241c20;
}

.company-team-kpi-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:#717782;
}

.company-team-alert{
  border-radius:18px;
  padding:14px 16px;
}

.company-team-alert.is-success{
  background:#f6faf6;
  border:1px solid rgba(22,101,52,0.14);
  color:#166534;
}

.company-team-alert.is-error{
  background:#fff7f7;
  border:1px solid rgba(185,28,28,0.14);
  color:#991b1b;
}

.company-team-alert ul{
  margin:8px 0 0 18px;
}

.company-team-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,0.8fr);
  gap:16px;
  align-items:start;
}

.company-team-card{
  padding:18px;
  border-radius:24px;
}

.company-team-card-title{
  margin:0;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  color:#222;
}

.company-team-card-sub{
  margin:4px 0 0 0;
  font-size:12px;
  line-height:1.45;
  color:#75757a;
}

.company-team-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.company-team-search{
  flex:1 1 280px;
}

.company-team-search input{
  width:100%;
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.07);
  background:#fff;
  padding:10px 14px;
  box-sizing:border-box;
  font:inherit;
}

.company-team-filter-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.company-team-filter-row select{
  min-height:40px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.07);
  background:#fff;
  padding:0 14px;
  font:inherit;
}

.company-team-table-wrap{
  overflow-x:auto;
}

.company-team-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}

.company-team-table thead th{
  text-align:left;
  padding:12px 12px 10px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:0.10em;
  text-transform:uppercase;
  color:#9a8f92;
  border-bottom:1px solid rgba(17,24,39,0.06);
}

.company-team-table tbody td{
  padding:16px 12px;
  border-bottom:1px solid rgba(17,24,39,0.05);
  vertical-align:middle;
  font-size:14px;
  color:#1f1f22;
}

.company-team-table tbody tr:last-child td{
  border-bottom:none;
}

.company-team-name{
  font-weight:800;
  color:#1f1f22;
}

.company-team-meta{
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
  color:#76767c;
}

.company-team-date{
  font-size:13px;
  line-height:1.4;
  color:#76767c;
}

.company-team-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.company-team-chip.is-dept{
  background:#f3eef3;
  color:#5a4958;
}

.company-team-chip.is-active{
  background:#edf6ee;
  color:#3e6c45;
}

.company-team-chip.is-invited{
  background:#f5efe3;
  color:#7b6840;
}

.company-team-chip.is-inactive,
.company-team-chip.is-neutral{
  background:#efefef;
  color:#6e6e75;
}

.company-team-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}

.company-team-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.company-team-field label{
  font-size:12px;
  font-weight:700;
  color:#5b5b61;
}

.company-team-field input,
.company-team-field select{
  width:100%;
  min-height:42px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.08);
  background:#f7f7f8;
  padding:10px 12px;
  box-sizing:border-box;
  font:inherit;
  color:#1f1f22;
  outline:none;
}

.company-team-field input:focus,
.company-team-field select:focus{
  background:#fff;
  border-color:rgba(0,0,0,0.16);
}

.company-team-form-actions{
  display:flex;
  align-items:flex-end;
}

.company-team-form-actions .btn{
  width:100%;
}

.company-team-empty{
  min-height:220px;
  border:1px dashed rgba(0,0,0,0.10);
  border-radius:22px;
  background:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  color:#76767c;
  padding:18px;
}

.company-team-empty-ico{
  font-size:30px;
}

.company-team-empty-title{
  margin-top:8px;
}

.company-team-empty-sub{
  margin-top:6px;
}

@media (max-width:1180px){
  .company-team-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  .company-team-kpis{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:760px){
  .company-team-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .company-team-form{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .company-team-kpis{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   SHARED SIDEBAR — V3
   ========================================================= */

.sidebar.sidebar-v3{
  width: 300px;
  min-width: 300px;
  min-height: 100vh;
  padding: 20px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  background:
    radial-gradient(circle at top right, rgba(130, 16, 35, 0.25), transparent 34%),
    linear-gradient(180deg, #640010 0%, #5a0010 100%);
  color: #fff;
  border-right: 1px solid rgba(255,255,255,0.08);
  box-sizing: border-box;
}

.sidebar-v3__brand{
  padding: 6px 4px 2px;
}

.sidebar-v3__brand-link{
  display: flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}

.sidebar-v3__brand-mark{
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 13px;
  line-height: 1;
}

.sidebar-v3__brand-copy{
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.sidebar-v3__brand-name{
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}

.sidebar-v3__brand-sub{
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: rgba(255,255,255,0.78);
  font-weight: 700;
}

.sidebar-v3__group,
.sidebar-v3__footer{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sidebar-v3__group--support{
  margin-top: auto;
}

.sidebar-v3__label{
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.2;
  color: rgba(255,255,255,0.62);
  font-weight: 700;
}

.sidebar-v3__nav{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sidebar-v3__link{
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 16px;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 14px;
  border-radius: 18px;
  color: rgba(255,255,255,0.92);
  text-decoration: none;
  border: 1px solid transparent;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    color .18s ease;
}

.sidebar-v3__link:hover{
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.08);
  color: #fff;
  transform: translateY(-1px);
  text-decoration: none;
}

.sidebar-v3__link.is-active{
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.14);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.sidebar-v3__icon{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}

.sidebar-v3__link.is-active .sidebar-v3__icon{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.12);
}

.sidebar-v3__icon svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar-v3__text{
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  min-width: 0;
}

.sidebar-v3__chev{
  font-size: 18px;
  line-height: 1;
  color: rgba(255,255,255,0.54);
}

.sidebar-v3__link.is-active .sidebar-v3__chev{
  color: rgba(255,255,255,0.82);
}

@media (max-width: 1180px){
  .sidebar.sidebar-v3{
    width: 260px;
    min-width: 260px;
  }
}

@media (max-width: 900px){
  .sidebar.sidebar-v3{
    width: 94px;
    min-width: 94px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .sidebar-v3__brand-link{
    justify-content: center;
  }

  .sidebar-v3__brand-copy,
  .sidebar-v3__label,
  .sidebar-v3__text,
  .sidebar-v3__chev{
    display: none;
  }

  .sidebar-v3__link{
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 0;
  }
}


/* =========================================================
   SHARED APP TOPBAR
   ========================================================= */

.app-topbar{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.app-topbar__left{
  flex:1 1 auto;
  min-width:0;
}

.app-topbar__search-wrap{
  position:relative;
  width:min(760px, 100%);
}

.app-topbar__search-ico{
  position:absolute;
  top:50%;
  left:16px;
  transform:translateY(-50%);
  font-size:14px;
  color:#8c9199;
  pointer-events:none;
}

.app-topbar__search{
  width:100%;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  padding:0 16px 0 40px;
  box-sizing:border-box;
  font:inherit;
  font-size:14px;
  color:#1a1b20;
  outline:none;
  box-shadow:0 1px 0 rgba(255,255,255,0.8) inset;
}

.app-topbar__search::placeholder{
  color:#8d939c;
}

.app-topbar__search:focus{
  border-color:rgba(122, 10, 25, 0.22);
  box-shadow:
    0 0 0 3px rgba(122, 10, 25, 0.06),
    0 1px 0 rgba(255,255,255,0.8) inset;
}

.app-topbar__right{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.app-topbar__user{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
}

.app-topbar__role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f4eef4;
  color:#6d5968;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.app-topbar__name{
  font-size:14px;
  line-height:1;
  font-weight:700;
  color:#1f1f22;
}

.app-topbar__logout{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  color:#372a2f;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  line-height:1;
  transition:
    background .16s ease,
    border-color .16s ease,
    transform .16s ease;
}

.app-topbar__logout:hover{
  background:#faf8f7;
  border-color:rgba(56,43,49,0.20);
  transform:translateY(-1px);
  text-decoration:none;
}

@media (max-width: 900px){
  .app-topbar{
    flex-direction:column;
    align-items:stretch;
  }

  .app-topbar__right{
    justify-content:space-between;
  }
}

@media (max-width: 640px){
  .app-topbar__right{
    flex-direction:column;
    align-items:stretch;
  }

  .app-topbar__user,
  .app-topbar__logout{
    justify-content:center;
  }
}

/* =========================================================
   APP LAYOUT NORMALIZATION
   ========================================================= */

html,
body{
  background:#f3f1ed;
}

.app-shell{
  display:flex;
  min-height:100vh;
  background:#f3f1ed;
}

.app-main{
  flex:1 1 auto;
  min-width:0;
  background:#f3f1ed;
  padding:20px 22px;
  box-sizing:border-box;
}

.surface{
  background:#fbfaf8;
  border:1px solid rgba(17,24,39,0.06);
  border-radius:30px;
  padding:22px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 12px 28px rgba(17,24,39,0.04);
}

/* =========================================================
   SHARED APP TOPBAR
   ========================================================= */

.app-topbar{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.app-topbar__left{
  flex:1 1 auto;
  min-width:0;
}

.app-topbar__search-wrap{
  position:relative;
  width:min(700px, 100%);
}

.app-topbar__search-ico{
  position:absolute;
  top:50%;
  left:16px;
  transform:translateY(-50%);
  font-size:14px;
  color:#8c9199;
  pointer-events:none;
}

.app-topbar__search{
  width:100%;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  padding:0 16px 0 40px;
  box-sizing:border-box;
  font:inherit;
  font-size:14px;
  color:#1a1b20;
  outline:none;
}

.app-topbar__search::placeholder{
  color:#8d939c;
}

.app-topbar__search:focus{
  border-color:rgba(122, 10, 25, 0.18);
  box-shadow:
    0 0 0 3px rgba(122, 10, 25, 0.05),
    0 1px 0 rgba(255,255,255,0.85) inset;
}

.app-topbar__right{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.app-topbar__user{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
}

.app-topbar__role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f4eef4;
  color:#6d5968;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.app-topbar__name{
  font-size:14px;
  line-height:1;
  font-weight:700;
  color:#1f1f22;
}

.app-topbar__avatar{
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  color:#5e4463;
  text-decoration:none;
  font-size:18px;
}

.app-topbar__avatar:hover{
  text-decoration:none;
  background:#faf8f7;
}

/* =========================================================
   COMPANY TEAM PAGE — visual alignment with dashboard
   ========================================================= */

.company-team-surface{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.company-team-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.company-team-title{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.company-team-ico{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f6edf2;
  font-size:22px;
  flex:0 0 48px;
}

.company-team-h1{
  margin:0;
  font-size:30px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#1f1f22;
}

.company-team-sub{
  margin:8px 0 0 0;
  font-size:13px;
  line-height:1.6;
  color:#6f6f73;
  max-width:780px;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-weight:700;
}

.company-team-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.company-team-kpi{
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(17,24,39,0.05);
  background:#fff;
}

.company-team-kpi-kicker{
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a8f92;
}

.company-team-kpi-value{
  margin-top:12px;
  font-size:36px;
  line-height:0.95;
  letter-spacing:-0.04em;
  font-weight:800;
  color:#241c20;
}

.company-team-kpi-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:#717782;
}

.company-team-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(320px,0.85fr);
  gap:16px;
  align-items:start;
}

.company-team-card{
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,24,39,0.05);
}

.company-team-card-title{
  margin:0;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  color:#222;
}

.company-team-card-sub{
  margin:4px 0 0 0;
  font-size:12px;
  line-height:1.45;
  color:#75757a;
}

.company-team-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.company-team-search{
  flex:1 1 280px;
}

.company-team-search input{
  width:100%;
  min-height:44px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.07);
  background:#fff;
  padding:10px 14px;
  box-sizing:border-box;
  font:inherit;
}

.company-team-filter-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.company-team-filter-row select{
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.07);
  background:#fff;
  padding:0 14px;
  font:inherit;
}

.company-team-table-wrap{
  overflow-x:auto;
}

.company-team-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}

.company-team-table thead th{
  text-align:left;
  padding:12px 12px 10px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:0.10em;
  text-transform:uppercase;
  color:#9a8f92;
  border-bottom:1px solid rgba(17,24,39,0.06);
}

.company-team-table tbody td{
  padding:16px 12px;
  border-bottom:1px solid rgba(17,24,39,0.05);
  vertical-align:middle;
  font-size:14px;
  color:#1f1f22;
}

.company-team-table tbody tr:last-child td{
  border-bottom:none;
}

.company-team-name{
  font-weight:800;
  color:#1f1f22;
}

.company-team-meta{
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
  color:#76767c;
}

.company-team-date{
  font-size:13px;
  line-height:1.4;
  color:#76767c;
}

.company-team-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.company-team-chip.is-dept{
  background:#f3eef3;
  color:#5a4958;
}

.company-team-chip.is-active{
  background:#edf6ee;
  color:#3e6c45;
}

.company-team-chip.is-invited{
  background:#f5efe3;
  color:#7b6840;
}

.company-team-chip.is-inactive,
.company-team-chip.is-neutral{
  background:#efefef;
  color:#6e6e75;
}

.company-team-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}

.company-team-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.company-team-field label{
  font-size:12px;
  font-weight:700;
  color:#5b5b61;
}

.company-team-field input,
.company-team-field select{
  width:100%;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.08);
  background:#f7f7f8;
  padding:10px 12px;
  box-sizing:border-box;
  font:inherit;
  color:#1f1f22;
  outline:none;
}

.company-team-field input:focus,
.company-team-field select:focus{
  background:#fff;
  border-color:rgba(0,0,0,0.16);
}

.company-team-form-actions{
  display:flex;
  align-items:flex-end;
}

.company-team-form-actions .btn{
  width:100%;
}

@media (max-width:1180px){
  .company-team-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  .company-team-kpis{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:760px){
  .app-main{
    padding:14px;
  }

  .company-team-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .company-team-form{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .company-team-kpis{
    grid-template-columns:1fr;
  }

  .app-topbar{
    flex-direction:column;
    align-items:stretch;
  }

  .app-topbar__right{
    justify-content:space-between;
  }
}

/* =========================================================
   SHARED SIDEBAR — V4 DETACHED / STICKY / COLLAPSIBLE
   ========================================================= */

.app-shell{
  display:flex;
  align-items:flex-start;
  min-height:100vh;
  background:#f3f1ed;
}

.sidebar.sidebar-v4{
  position:sticky;
  top:18px;
  align-self:flex-start;
  width:304px;
  min-width:304px;
  height:calc(100vh - 36px);
  margin:18px 0 18px 18px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:22px;
  box-sizing:border-box;
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(130, 16, 35, 0.24), transparent 32%),
    linear-gradient(180deg, #730012 0%, #640010 100%);
  color:#fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.04) inset,
    0 20px 44px rgba(39, 14, 19, 0.22);
  z-index:20;
  transition:
    width .22s ease,
    min-width .22s ease,
    padding .22s ease;
}

.app-main{
  flex:1 1 auto;
  min-width:0;
  padding:18px 18px 18px 16px;
  box-sizing:border-box;
}

.sidebar-v4__brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.sidebar-v4__brand-link{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:inherit;
  text-decoration:none;
}

.sidebar-v4__brand-mark{
  width:30px;
  height:30px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.12);
  font-size:13px;
  line-height:1;
  flex:0 0 30px;
}

.sidebar-v4__brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.sidebar-v4__brand-name{
  font-size:20px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#fff;
}

.sidebar-v4__brand-sub{
  margin-top:4px;
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:0.10em;
  color:rgba(255,255,255,0.76);
  font-weight:700;
}

.sidebar-v4__toggle{
  width:34px;
  height:34px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.06);
  color:rgba(255,255,255,0.94);
  display:grid;
  place-items:center;
  cursor:pointer;
  flex:0 0 34px;
}

.sidebar-v4__toggle:hover{
  background:rgba(255,255,255,0.10);
}

.sidebar-v4__group,
.sidebar-v4__footer{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.sidebar-v4__group--support{
  margin-top:auto;
}

.sidebar-v4__label{
  padding:0 10px;
  font-size:12px;
  line-height:1.2;
  color:rgba(255,255,255,0.62);
  font-weight:700;
}

.sidebar-v4__nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.sidebar-v4__link{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 16px;
  align-items:center;
  gap:12px;
  min-height:56px;
  padding:0 14px;
  border-radius:18px;
  color:rgba(255,255,255,0.94);
  text-decoration:none;
  border:1px solid transparent;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.sidebar-v4__link:hover{
  background:rgba(255,255,255,0.06);
  border-color:rgba(255,255,255,0.08);
  text-decoration:none;
  transform:translateY(-1px);
}

.sidebar-v4__link.is-active{
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,255,255,0.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
}

.sidebar-v4__icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
}

.sidebar-v4__link.is-active .sidebar-v4__icon{
  background:rgba(255,255,255,0.10);
  border-color:rgba(255,255,255,0.12);
}

.sidebar-v4__icon svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sidebar-v4__text{
  min-width:0;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
}

.sidebar-v4__chev{
  font-size:18px;
  line-height:1;
  color:rgba(255,255,255,0.50);
}

.sidebar-v4__link.is-active .sidebar-v4__chev{
  color:rgba(255,255,255,0.82);
}

/* collapsed state */
.app-shell.sidebar-collapsed .sidebar.sidebar-v4{
  width:96px;
  min-width:96px;
  padding-left:12px;
  padding-right:12px;
}

.app-shell.sidebar-collapsed .sidebar-v4__brand{
  justify-content:center;
}

.app-shell.sidebar-collapsed .sidebar-v4__brand-link{
  justify-content:center;
}

.app-shell.sidebar-collapsed .sidebar-v4__brand-copy,
.app-shell.sidebar-collapsed .sidebar-v4__label,
.app-shell.sidebar-collapsed .sidebar-v4__text,
.app-shell.sidebar-collapsed .sidebar-v4__chev{
  display:none;
}

.app-shell.sidebar-collapsed .sidebar-v4__toggle{
  position:absolute;
  top:18px;
  right:12px;
}

.app-shell.sidebar-collapsed .sidebar-v4__link{
  grid-template-columns:1fr;
  justify-items:center;
  padding:0;
}

.app-shell.sidebar-collapsed .sidebar-v4__icon{
  width:42px;
  height:42px;
}

/* keep main area aligned nicely */
@media (max-width: 1180px){
  .sidebar.sidebar-v4{
    width:278px;
    min-width:278px;
  }
}

@media (max-width: 920px){
  .sidebar.sidebar-v4{
    width:94px;
    min-width:94px;
    padding-left:12px;
    padding-right:12px;
  }

  .sidebar-v4__brand-copy,
  .sidebar-v4__label,
  .sidebar-v4__text,
  .sidebar-v4__chev{
    display:none;
  }

  .sidebar-v4__link{
    grid-template-columns:1fr;
    justify-items:center;
    padding:0;
  }

  .sidebar-v4__brand{
    justify-content:center;
  }

  .sidebar-v4__toggle{
    display:none;
  }
}

/* =========================================================
   SIDEBAR BRAND / SINGLE TOGGLE FIX
   ========================================================= */

.sidebar-v4__brand{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:12px;
}

.sidebar-v4__brand-link{
  min-width:0;
  display:flex;
  align-items:center;
  color:inherit;
  text-decoration:none;
}

.sidebar-v4__brand-mark{
  width:34px;
  height:34px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.94);
  font-size:13px;
  line-height:1;
  flex:0 0 34px;
}

.sidebar-v4__brand-mark--toggle{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  padding:0;
  font:inherit;
}

.sidebar-v4__brand-mark--toggle:hover{
  background:rgba(255,255,255,0.12);
}

.sidebar-v4__toggle{
  display:none !important;
}

.app-shell.sidebar-collapsed .sidebar-v4__brand{
  grid-template-columns:1fr;
  justify-items:center;
}

.app-shell.sidebar-collapsed .sidebar-v4__brand-link{
  justify-content:center;
}

.app-shell.sidebar-collapsed .sidebar-v4__brand-copy{
  display:none;
}

/* =========================================================
   DASHBOARD / PROJECTS OUTER SPACING NORMALIZATION
   ========================================================= */

.dashboard-saas .app-main{
  padding:18px 18px 18px 16px !important;
}

.dashboard-saas .surface{
  padding:22px !important;
  border-radius:30px !important;
}

.dashboard-saas .app-topbar{
  margin-bottom:18px !important;
}

.dashboard-saas .db2-shell,
.dashboard-saas .projects-page-shell,
.dashboard-saas .projects-shell,
.dashboard-saas .projects-page{
  margin:0 !important;
  padding:0 !important;
}

/* =========================================================
   PROJECT TEAM PAGE
   ========================================================= */

.project-team-surface{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.project-team-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.project-team-head-left{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.project-team-ico{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f6edf2;
  font-size:22px;
  flex:0 0 48px;
}

.project-team-h1{
  margin:0;
  font-size:30px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#1f1f22;
}

.project-team-sub{
  margin-top:8px;
  max-width:760px;
  font-size:13px;
  line-height:1.6;
  color:#6f6f73;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-weight:700;
}

.project-team-meta{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:13px;
  line-height:1.4;
  color:#7c7f86;
}

.project-team-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.project-team-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.project-team-kpi{
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(17,24,39,0.05);
  background:#fff;
}

.project-team-kpi-kicker{
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a8f92;
}

.project-team-kpi-value{
  margin-top:12px;
  font-size:36px;
  line-height:0.95;
  letter-spacing:-0.04em;
  font-weight:800;
  color:#241c20;
}

.project-team-kpi-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:#717782;
}

.project-team-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,0.9fr);
  gap:16px;
  align-items:start;
}

.project-team-main,
.project-team-side{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.project-team-card{
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,24,39,0.05);
}

.project-team-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.project-team-card-title{
  margin:0;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  color:#222;
}

.project-team-card-sub{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:#75757a;
}

.project-team-search{
  position:relative;
  width:min(320px, 100%);
}

.project-team-search-ico{
  position:absolute;
  top:50%;
  left:14px;
  transform:translateY(-50%);
  font-size:13px;
  color:#8c9199;
  pointer-events:none;
}

.project-team-search input{
  width:100%;
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  padding:10px 14px 10px 38px;
  box-sizing:border-box;
  font:inherit;
}

.project-team-rows{
  display:flex;
  flex-direction:column;
  margin-top:14px;
}

.project-team-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 14px;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-top:1px solid rgba(17,24,39,0.05);
  color:inherit;
  text-decoration:none;
}

.project-team-row:first-child{
  border-top:none;
}

.project-team-row:hover{
  text-decoration:none;
}

.project-team-row-name{
  font-size:15px;
  font-weight:800;
  color:#1f1f22;
}

.project-team-row-meta{
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
  color:#76767c;
}

.project-team-row-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.project-team-row-arrow{
  font-size:18px;
  line-height:1;
  color:#a2a5ab;
}

.project-team-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.project-team-chip.is-lead{
  background:#efe9f1;
  color:#5b4a60;
}

.project-team-chip.is-rsvp{
  background:#f4edf4;
  color:#624d62;
}

.project-team-chip.is-transport{
  background:#efe9ee;
  color:#5f4e59;
}

.project-team-chip.is-hospitality{
  background:#f3ecef;
  color:#6b5660;
}

.project-team-chip.is-neutral{
  background:#efefef;
  color:#6e6e75;
}

.project-team-updates{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:14px;
}

.project-team-update{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
}

.project-team-update-ico{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#f6edf2;
  font-size:15px;
}

.project-team-update-title{
  font-size:14px;
  line-height:1.4;
  font-weight:700;
  color:#1f1f22;
}

.project-team-update-sub{
  margin-top:3px;
  font-size:12px;
  line-height:1.4;
  color:#7c7f86;
}

.project-team-task-kpis{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.project-team-task-kpi{
  padding:14px;
  border-radius:18px;
  background:#faf8f6;
  border:1px solid rgba(17,24,39,0.05);
}

.project-team-task-kicker{
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.10em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a8f92;
}

.project-team-task-value{
  margin-top:10px;
  font-size:26px;
  line-height:1;
  font-weight:800;
  color:#241c20;
}

.project-team-task-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}

.project-team-task-row{
  display:block;
  padding:14px;
  border-radius:16px;
  background:#faf8f6;
  border:1px solid rgba(17,24,39,0.05);
  color:inherit;
  text-decoration:none;
}

.project-team-task-row:hover{
  text-decoration:none;
}

.project-team-task-title{
  font-size:14px;
  line-height:1.4;
  font-weight:700;
  color:#1f1f22;
}

.project-team-task-sub{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:#7c7f86;
}

.project-team-empty{
  min-height:240px;
  border:1px dashed rgba(0,0,0,0.10);
  border-radius:22px;
  background:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  color:#76767c;
  padding:18px;
  margin-top:14px;
}

.project-team-empty--small{
  min-height:180px;
}

.project-team-empty-ico{
  font-size:30px;
}

.project-team-empty-title{
  margin-top:8px;
  font-size:15px;
  font-weight:800;
  color:#1f1f22;
}

.project-team-empty-sub{
  margin-top:6px;
  font-size:13px;
  line-height:1.5;
}

.project-team-empty-actions{
  margin-top:14px;
}

@media (max-width:1180px){
  .project-team-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  .project-team-kpis{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:760px){
  .project-team-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .project-team-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .project-team-row-tags{
    justify-content:flex-start;
  }

  .project-team-row-arrow{
    display:none;
  }
}

@media (max-width:640px){
  .project-team-kpis,
  .project-team-task-kpis{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   PROJECT ADD MEMBER PAGE
   ========================================================= */

.project-add-member-surface{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.project-add-member-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.project-add-member-head-left{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.project-add-member-ico{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f6edf2;
  font-size:22px;
  flex:0 0 48px;
}

.project-add-member-h1{
  margin:0;
  font-size:30px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#1f1f22;
}

.project-add-member-sub{
  margin-top:8px;
  max-width:760px;
  font-size:13px;
  line-height:1.6;
  color:#6f6f73;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-weight:700;
}

.project-add-member-meta{
  margin-top:10px;
  font-size:13px;
  line-height:1.4;
  color:#7c7f86;
}

.project-add-member-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.project-add-member-alert{
  border-radius:18px;
  padding:14px 16px;
}

.project-add-member-alert.is-error{
  background:#fff7f7;
  border:1px solid rgba(185,28,28,0.14);
  color:#991b1b;
}

.project-add-member-alert ul{
  margin:8px 0 0 18px;
}

.project-add-member-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.project-add-member-kpi{
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(17,24,39,0.05);
  background:#fff;
}

.project-add-member-kpi-kicker{
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a8f92;
}

.project-add-member-kpi-value{
  margin-top:12px;
  font-size:36px;
  line-height:0.95;
  letter-spacing:-0.04em;
  font-weight:800;
  color:#241c20;
}

.project-add-member-kpi-sub{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:#717782;
}

.project-add-member-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,0.9fr);
  gap:16px;
  align-items:start;
}

.project-add-member-main,
.project-add-member-side{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.project-add-member-card{
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,24,39,0.05);
}

.project-add-member-card-title{
  margin:0;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  color:#222;
}

.project-add-member-card-sub{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:#75757a;
}

.project-add-member-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.project-add-member-search{
  position:relative;
  flex:1 1 300px;
}

.project-add-member-search-ico{
  position:absolute;
  top:50%;
  left:14px;
  transform:translateY(-50%);
  font-size:13px;
  color:#8c9199;
  pointer-events:none;
}

.project-add-member-search input{
  width:100%;
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  padding:10px 14px 10px 38px;
  box-sizing:border-box;
  font:inherit;
}

.project-add-member-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.project-add-member-filters select{
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  padding:0 14px;
  font:inherit;
}

.project-add-member-rows{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.project-add-member-row{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 14px;
  gap:14px;
  align-items:center;
  text-align:left;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(17,24,39,0.05);
  background:#fff;
  cursor:pointer;
}

.project-add-member-row.is-selected{
  border-color:rgba(122,10,25,0.18);
  box-shadow:0 0 0 3px rgba(122,10,25,0.05);
}

.project-add-member-row:disabled{
  opacity:0.62;
  cursor:not-allowed;
}

.project-add-member-row-main{
  min-width:0;
}

.project-add-member-row-name{
  font-size:15px;
  font-weight:800;
  color:#1f1f22;
}

.project-add-member-row-meta{
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
  color:#76767c;
}

.project-add-member-row-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.project-add-member-row-arrow{
  font-size:18px;
  line-height:1;
  color:#a2a5ab;
}

.project-add-member-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.project-add-member-chip.is-dept{
  background:#f3eef3;
  color:#5a4958;
}

.project-add-member-chip.is-active{
  background:#edf6ee;
  color:#3e6c45;
}

.project-add-member-chip.is-invited{
  background:#f5efe3;
  color:#7b6840;
}

.project-add-member-chip.is-inactive{
  background:#efefef;
  color:#6e6e75;
}

.project-add-member-chip.is-lead{
  background:#efe9f1;
  color:#5b4a60;
}

.project-add-member-chip.is-rsvp{
  background:#f4edf4;
  color:#624d62;
}

.project-add-member-chip.is-transport{
  background:#efe9ee;
  color:#5f4e59;
}

.project-add-member-chip.is-hospitality{
  background:#f3ecef;
  color:#6b5660;
}

.project-add-member-chip.is-neutral{
  background:#efefef;
  color:#6e6e75;
}

.project-add-member-chip button{
  border:none;
  background:transparent;
  padding:0;
  margin-left:8px;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  color:inherit;
}

.project-add-member-selected{
  min-height:88px;
  padding:14px 16px;
  margin-top:16px;
  border-radius:18px;
  background:#faf8f6;
  border:1px solid rgba(17,24,39,0.05);
}

.project-add-member-selected-name{
  font-size:15px;
  font-weight:800;
  color:#1f1f22;
}

.project-add-member-selected-meta{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:#76767c;
}

.project-add-member-selected-empty{
  min-height:58px;
  display:grid;
  place-items:center start;
  color:#8a8f97;
  font-size:13px;
  line-height:1.5;
}

.project-add-member-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:14px;
}

.project-add-member-field label{
  font-size:12px;
  font-weight:700;
  color:#5b5b61;
}

.project-add-member-role-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}

.project-add-member-role-row select{
  width:100%;
  min-height:42px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.08);
  background:#f7f7f8;
  padding:10px 12px;
  box-sizing:border-box;
  font:inherit;
}

.project-add-member-chip-box{
  min-height:112px;
  border:1px dashed rgba(17,24,39,0.10);
  border-radius:18px;
  padding:14px;
  background:#fff;
}

.project-add-member-chip-box.is-muted{
  background:#faf8f6;
}

.project-add-member-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.project-add-member-chip-empty{
  min-height:54px;
  display:grid;
  place-items:center start;
  color:#8a8f97;
  font-size:13px;
  line-height:1.5;
}

.project-add-member-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.project-add-member-empty{
  min-height:220px;
  border:1px dashed rgba(0,0,0,0.10);
  border-radius:22px;
  background:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  color:#76767c;
  padding:18px;
  margin-top:14px;
}

.project-add-member-empty-ico{
  font-size:30px;
}

.project-add-member-empty-title{
  margin-top:8px;
  font-size:15px;
  font-weight:800;
  color:#1f1f22;
}

.project-add-member-empty-sub{
  margin-top:6px;
  font-size:13px;
  line-height:1.5;
}

@media (max-width:1180px){
  .project-add-member-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  .project-add-member-kpis{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:760px){
  .project-add-member-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .project-add-member-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .project-add-member-row-tags{
    justify-content:flex-start;
  }

  .project-add-member-row-arrow{
    display:none;
  }

  .project-add-member-role-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .project-add-member-kpis{
    grid-template-columns:1fr;
  }
}

/* PROJECT TEAM INSIDE PROJECT SHELL */

.project-shell .project-team-surface{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}

.project-shell .project-team-head{
  margin-bottom:18px;
}

.project-shell .project-team-kpis{
  margin-bottom:16px;
}

.project-team-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.project-team-head-left{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-width:0;
}

.project-team-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  flex:0 0 auto;
}

.project-workspace-main .project-team-surface{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}

@media (max-width: 900px){
  .project-team-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .project-team-actions{
    width:100%;
  }
}

/* =========================================================
   PROJECT TEAM — STICKY PROJECT HEADER
   ========================================================= */

.project-sticky-head{
  position: sticky;
  top: 12px;
  z-index: 18;
  margin-bottom: 16px;
}

.project-sticky-head__card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 24px;
  background:#fff;
  border:1px solid rgba(17,24,39,0.06);
  border-radius:28px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 10px 24px rgba(17,24,39,0.04);
  transition:
    padding .18s ease,
    border-radius .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.project-sticky-head__left{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.project-sticky-head__back{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#faf8f6;
  border:1px solid rgba(17,24,39,0.06);
  color:#1f1f22;
  font-size:28px;
  line-height:1;
  text-decoration:none;
  flex:0 0 48px;
}

.project-sticky-head__back:hover{
  text-decoration:none;
  background:#f5f2ef;
}

.project-sticky-head__copy{
  min-width:0;
}

.project-sticky-head__kicker{
  font-size:11px;
  line-height:1.2;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:800;
  color:#9a8f92;
}

.project-sticky-head__title{
  margin-top:6px;
  font-size:24px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#1f1f22;
}

.project-sticky-head__meta{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:13px;
  line-height:1.4;
  color:#7c7f86;
  font-weight:700;
  letter-spacing:0.10em;
  text-transform:uppercase;
}

.project-sticky-head__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  flex:0 0 auto;
}

/* condensed on scroll */
.project-sticky-head.is-condensed .project-sticky-head__card{
  padding:14px 18px;
  border-radius:20px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 8px 18px rgba(17,24,39,0.05);
}

.project-sticky-head.is-condensed .project-sticky-head__back{
  width:40px;
  height:40px;
  border-radius:14px;
  font-size:24px;
}

.project-sticky-head.is-condensed .project-sticky-head__kicker{
  display:none;
}

.project-sticky-head.is-condensed .project-sticky-head__title{
  margin-top:0;
  font-size:20px;
}

.project-sticky-head.is-condensed .project-sticky-head__meta{
  margin-top:4px;
  font-size:12px;
  letter-spacing:0.08em;
}

.project-workspace-main .project-team-surface{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}

.project-team-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.project-team-head-left{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-width:0;
}

@media (max-width: 900px){
  .project-sticky-head__card{
    flex-direction:column;
    align-items:flex-start;
  }

  .project-sticky-head__actions{
    width:100%;
  }

  .project-team-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

.guest-create-head{
  position:sticky;
  top:14px;
  z-index:30;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px 0;
  padding:16px 18px;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:22px;
  background:rgba(243,243,243,0.96);
  backdrop-filter:blur(8px);
  box-shadow:0 10px 24px rgba(0,0,0,0.06);
  transition:
    padding 180ms ease,
    border-radius 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

.guest-create-head-copy{
  min-width:0;
  flex:1 1 auto;
}

.guest-create-title{
  margin:0;
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  color:#151515;
  transition:font-size 180ms ease, line-height 180ms ease;
}

.guest-create-sub{
  margin:8px 0 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  max-width:700px;
  transition:font-size 180ms ease, margin 180ms ease, opacity 180ms ease;
}

.guest-create-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
}

.guest-create-actions .btn{
  white-space:nowrap;
}

.guest-create-head.is-compact{
  padding:10px 14px;
  border-radius:18px;
  box-shadow:0 8px 18px rgba(0,0,0,0.05);
}

.guest-create-head.is-compact .guest-create-title{
  font-size:20px;
  line-height:1.15;
}

.guest-create-head.is-compact .guest-create-sub{
  margin-top:4px;
  font-size:12px;
  opacity:0.9;
}

@media (max-width:980px){
  .guest-create-head{
    top:8px;
    flex-direction:column;
    align-items:flex-start;
    padding:14px;
  }

  .guest-create-actions{
    width:100%;
    justify-content:flex-start;
  }

  .guest-create-head.is-compact{
    padding:10px 12px;
  }
}
.guest-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);
  gap:14px;
  align-items:start;
}
@media (max-width:1120px){
  .guest-layout{
    grid-template-columns:1fr;
  }
}
.guest-col{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.form-card{
  padding:18px;
}
.form-card-title{
  margin:0;
  font-size:18px;
  font-weight:800;
  color:#1d1d1d;
}
.form-card-sub{
  margin:6px 0 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.form-grid-3{
  display:grid;
  grid-template-columns:repeat(3, minmax(160px,1fr));
  gap:14px;
  margin-top:16px;
}
@media (max-width:760px){
  .form-grid,
  .form-grid-3{
    grid-template-columns:1fr;
  }
}
.field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.field label{
  font-size:12px;
  font-weight:700;
  color:#555;
}
.field input,
.field select,
.field textarea{
  width:100%;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.12);
  background:#fff;
  padding:11px 14px;
  font:inherit;
  color:#1f1f1f;
  outline:none;
  box-sizing:border-box;
}
.field textarea{
  min-height:108px;
  resize:vertical;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:rgba(0,0,0,0.28);
  box-shadow:0 0 0 3px rgba(0,0,0,0.04);
}
.invite-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px 14px;
  margin-top:16px;
}
@media (max-width:760px){
  .invite-grid{
    grid-template-columns:1fr;
  }
}
.invite-pill{
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  padding:12px 12px;
  background:#fff;
}
.invite-pill input{
  margin-top:2px;
}
.invite-pill-title{
  font-size:14px;
  font-weight:700;
  color:#1f1f1f;
  line-height:1.35;
}
.invite-pill-meta{
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
  line-height:1.45;
}
.empty-events{
  margin-top:16px;
  padding:14px 16px;
  border-radius:16px;
  border:1px dashed rgba(0,0,0,0.12);
  background:rgba(0,0,0,0.02);
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.form-divider{
  height:1px;
  background:rgba(0,0,0,0.08);
  margin:18px 0 2px;
}
.info-note{
  margin-top:16px;
  padding:14px 15px;
  border-radius:16px;
  background:rgba(0,0,0,0.03);
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.side-summary{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:16px;
}
.side-summary-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:start;
  font-size:13px;
}
.side-summary-row .k{
  color:#444;
}
.side-summary-row .v{
  color:#1c1c1c;
  font-weight:700;
}
.page-actions-bottom{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
  flex-wrap:
  wrap;
}

.travel-detect-note{
  margin-top:6px;
  font-size:12px;
  color:#6b7280;
  line-height:1.4;
}

.travel-detect-note strong{
  color:#1f1f1f;
}

.app-shell--demo .app-main{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
}

.app-shell--demo .surface{
  width:100% !important;
  max-width:none !important;
}

.project-shell--demo{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}

.proj-main--demo{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  min-width:0 !important;
}

.linked-party-section{
  margin-top:0;
}

.linked-party-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:14px;
  align-items:start;
}

.linked-party-card{
  border:1px solid rgba(0,0,0,0.08);
  border-radius:18px;
  background:#fff;
  padding:16px;
}

.linked-party-card--full{
  grid-column:1 / -1;
}

.linked-party-card.is-focused{
  border-color:rgba(75,0,31,0.18);
  background:rgba(75,0,31,0.02);
  box-shadow:0 0 0 3px rgba(75,0,31,0.06);
}

.linked-party-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.linked-party-title{
  margin:0;
  font-size:16px;
  font-weight:800;
  color:#1d1d1d;
}

.linked-party-sub{
  margin:4px 0 0 0;
  font-size:12px;
  color:var(--muted);
  line-height:1.45;
}

.linked-party-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,0.05);
  color:#444;
  font-size:12px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
}

.linked-party-kv{
  display:grid;
  grid-template-columns:155px minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin-bottom:8px;
  font-size:13px;
}

.linked-party-kv .k{
  color:#666;
  font-weight:700;
}

.linked-party-kv .v{
  color:#1f1f1f;
  line-height:1.45;
}

.linked-party-block{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,0.08);
}

.linked-party-block-title{
  margin:0 0 10px 0;
  font-size:13px;
  font-weight:800;
  color:#222;
}

.linked-party-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.linked-party-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#314674;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}

.linked-party-badge.alt{
  background:#f5f1ff;
  color:#5a3f8f;
}

.linked-party-badge.warn{
  background:#fff1f1;
  color:#9b3d3d;
}

.linked-party-muted{
  font-size:13px;
  color:var(--muted);
  line-height:1.55;
}

.linked-party-inline-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

@media (max-width:980px){
  .linked-party-grid,
  .linked-party-inline-grid{
    grid-template-columns:1fr;
  }

  .linked-party-kv{
    grid-template-columns:1fr;
    gap:4px;
  }
}


.linked-edit-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:12px;
}

.linked-edit-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.linked-edit-field label{
  font-size:13px;
  font-weight:700;
  color:#444;
}

.linked-edit-field input,
.linked-edit-field select,
.linked-edit-field textarea{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:18px;
  background:#fff;
  font-size:14px;
  color:#1f1f1f;
}

.linked-edit-field textarea{
  min-height:96px;
  resize:vertical;
}

.linked-edit-checks{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.linked-edit-check{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,0.04);
  font-size:13px;
  color:#333;
}

.linked-edit-grid--single{
  grid-template-columns:1fr;
}

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


.linked-child-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:8px;
}

.linked-child-card{
  border:1px solid rgba(0,0,0,0.08);
  border-radius:18px;
  background:#fff;
  padding:14px;
}

.linked-child-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.linked-child-card-name{
  font-size:15px;
  font-weight:800;
  color:#1d1d1d;
  line-height:1.25;
}

.linked-child-card-sub{
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
  line-height:1.4;
}

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

/* ===== Project sidebar collapse (same approach as guests/index.php) ===== */

.project-shell{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:24px;
  align-items:start;
}

.project-shell > .project-nav,
.project-shell > .project-nav--v2{
  width:260px;
  min-width:260px;
  max-width:260px;
}

.project-shell .project-nav--v2{
  background:#fff;
  border:1px solid rgba(30,30,34,.06);
  border-radius:28px;
  box-shadow:0 18px 48px rgba(31,24,24,.04);
  overflow:hidden;
}

.proj-main{
  min-width:0;
  width:100%;
}

@media (max-width:1180px){
  .project-shell{
    grid-template-columns:76px minmax(0,1fr);
  }

  .project-shell > .project-nav,
  .project-shell > .project-nav--v2{
    width:76px;
    min-width:76px;
    max-width:76px;
  }

  .project-shell .project-nav-label,
  .project-shell .project-nav-text,
  .project-shell .project-nav-copy,
  .project-shell .project-nav-title,
  .project-shell .project-nav-sub,
  .project-shell .project-nav-chevron,
  .project-shell .project-nav-progress,
  .project-shell .project-nav-section-title{
    display:none !important;
  }
}

@media (max-width:820px){
  .project-shell{
    grid-template-columns:1fr;
  }

  .project-shell > .project-nav,
  .project-shell > .project-nav--v2{
    width:100%;
    min-width:0;
    max-width:100%;
  }
}
.project-sidebar-wrap{
  min-width:0;
}

.project-sidebar-toggle-row{
  display:flex;
  justify-content:flex-start;
  margin-bottom:10px;
  padding-left:6px;
}

.project-sidebar-toggle{
  width:36px;
  height:36px;
  min-width:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);
  background:#fff;
  color:#2d2d2d;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

.project-shell.is-sidebar-collapsed{
  grid-template-columns:68px minmax(0,1fr) !important;
  gap:10px !important;
}

.project-shell.is-sidebar-collapsed .project-sidebar-wrap{
  width:68px !important;
  min-width:68px !important;
  max-width:68px !important;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.project-shell.is-sidebar-collapsed .project-sidebar-toggle-row{
  width:100%;
  display:flex;
  justify-content:center !important;
  margin-bottom:10px !important;
  padding:0 !important;
}

.project-shell.is-sidebar-collapsed .project-sidebar-toggle{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  font-size:16px !important;
}

.project-shell.is-sidebar-collapsed .project-nav{
  width:68px !important;
  min-width:68px !important;
  max-width:68px !important;
  padding:12px 0 !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,0.06) !important;
  border-radius:24px !important;
  box-shadow:0 1px 2px rgba(16,24,40,0.04) !important;
}

.project-shell.is-sidebar-collapsed .project-nav-stack,
.project-shell.is-sidebar-collapsed .project-nav-group{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.project-shell.is-sidebar-collapsed .project-nav-stack{
  margin-bottom:14px !important;
}

.project-shell.is-sidebar-collapsed .project-nav .project-nav-text,
.project-shell.is-sidebar-collapsed .project-nav .project-nav-arrow,
.project-shell.is-sidebar-collapsed .project-nav .project-nav-steps,
.project-shell.is-sidebar-collapsed .project-nav .project-nav-title,
.project-shell.is-sidebar-collapsed .project-nav .project-nav-sub{
  display:none !important;
}

.project-shell.is-sidebar-collapsed .project-nav .project-nav-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  max-width:44px !important;
  margin:0 auto !important;
  padding:0 !important;
  border-radius:14px !important;
}

.project-shell.is-sidebar-collapsed .project-nav .project-nav-item--card,
.project-shell.is-sidebar-collapsed .project-nav .project-nav-item--row{
  height:44px !important;
  min-height:44px !important;
}

.project-shell.is-sidebar-collapsed .project-nav .project-nav-ico{
  margin:0 !important;
  font-size:18px !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

.project-shell.is-sidebar-collapsed .project-nav hr,
.project-shell.is-sidebar-collapsed .project-nav .project-nav-divider{
  display:none !important;
}

@media (max-width:1360px){
  .project-shell,
  .project-shell.is-sidebar-collapsed{
    grid-template-columns:1fr !important;
  }

  .project-sidebar-toggle-row{
    display:none;
  }
}

/* ===== Collapsible form cards ===== */

.form-card-collapsible{
  padding:0;
  overflow:hidden;
}

.form-card-toggle{
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  cursor:pointer;
}

.form-card-toggle:hover{
  background:rgba(0,0,0,0.015);
}

.form-card-toggle-copy{
  min-width:0;
  flex:1 1 auto;
}

.form-card-toggle .form-card-title{
  margin:0;
}

.form-card-toggle .form-card-sub{
  margin:6px 0 0 0;
}

.form-card-summary{
  display:block;
  margin-top:8px;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}

.form-card-chevron{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);
  background:#fff;
  color:#444;
  font-size:16px;
  line-height:1;
  transition:transform 180ms ease, background 180ms ease;
}

.form-card-collapsible.is-collapsed .form-card-chevron{
  transform:rotate(-90deg);
}

.form-card-body{
  padding:0 18px 18px;
}

.form-card-collapsible.is-collapsed .form-card-body{
  display:none;
}

.form-card-collapsible .form-card-body > .form-grid:first-child,
.form-card-collapsible .form-card-body > .form-grid-3:first-child,
.form-card-collapsible .form-card-body > .invite-grid:first-child,
.form-card-collapsible .form-card-body > .empty-events:first-child,
.form-card-collapsible .form-card-body > .info-note:first-child,
.form-card-collapsible .form-card-body > .linked-party-grid:first-child,
.form-card-collapsible .form-card-body > .side-summary:first-child{
  margin-top:16px;
}

.form-card-collapsible .form-divider:first-child{
  margin-top:16px;
}

@media (max-width:760px){
  .form-card-toggle{
    padding:16px;
  }

  .form-card-body{
    padding:0 16px 16px;
  }
}
/* ========================================================================== 
   GLOBAL TOASTS
   ========================================================================== */

.toast-wrap{
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  display: grid;
  gap: 10px;
  width: min(380px, calc(100vw - 32px));
  pointer-events: none;
}

.toast{
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(17,24,39,0.08);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 16px 34px rgba(17,24,39,0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.toast-msg{
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: #17181d;
  min-width: 0;
}

.toast-x{
  width: 28px;
  height: 28px;
  min-width: 28px;
  border: none;
  border-radius: 999px;
  background: rgba(17,24,39,0.06);
  color: #5d6470;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  display: grid;
  place-items: center;
  transition: background .14s ease, color .14s ease, transform .14s ease;
}

.toast-x:hover{
  background: rgba(17,24,39,0.10);
  color: #17181d;
  transform: scale(1.03);
}

.toast-success{
  border-color: rgba(34, 120, 78, 0.16);
  background: linear-gradient(180deg, rgba(241,250,245,0.98) 0%, rgba(255,255,255,0.98) 100%);
}

.toast-success .toast-msg{
  color: #1f5c3e;
}

.toast-error{
  border-color: rgba(176, 0, 32, 0.16);
  background: linear-gradient(180deg, rgba(255,245,247,0.98) 0%, rgba(255,255,255,0.98) 100%);
}

.toast-error .toast-msg{
  color: #a3001d;
}

.toast-warning{
  border-color: rgba(173, 108, 24, 0.18);
  background: linear-gradient(180deg, rgba(255,249,240,0.98) 0%, rgba(255,255,255,0.98) 100%);
}

.toast-warning .toast-msg{
  color: #8a5a11;
}

.toast-info{
  border-color: rgba(56, 104, 179, 0.16);
  background: linear-gradient(180deg, rgba(244,248,255,0.98) 0%, rgba(255,255,255,0.98) 100%);
}

.toast-info .toast-msg{
  color: #24528d;
}

@media (max-width: 640px){
  .toast-wrap{
    top: 14px;
    right: 14px;
    left: 14px;
    width: auto;
  }

  .toast{
    border-radius: 14px;
    padding: 13px 13px 13px 14px;
  }

  .toast-msg{
    font-size: 13px;
  }
}

.guest-role-note{
  padding:12px 14px;
  border-radius:14px;
  border:1px dashed rgba(17,24,39,0.10);
  background:#fafafa;
  color:#72767d;
  font-size:12px;
  line-height:1.5;
}

/* ==========================================================================
   RSVP PROJECT DASHBOARD
   ========================================================================== */

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.topbar-search{
  flex:1 1 auto;
  max-width:700px;
}

.topbar-search input{
  width:100%;
  min-height:54px;
  border-radius:18px;
  border:1px solid rgba(30,30,34,0.06);
  background:#fff;
  padding:0 18px;
  font-size:16px;
  color:#23242a;
  box-sizing:border-box;
}

.topbar-user{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.topbar-role{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:#faf7fb;
  border:1px solid rgba(30,30,34,0.06);
  color:#78707d;
  font-size:14px;
  font-weight:700;
}

.topbar-name{
  font-size:15px;
  font-weight:700;
  color:#1f1f24;
}

.topbar-avatar{
  width:36px;
  height:36px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid rgba(30,30,34,0.06);
}

.project-surface{
  border-radius:32px;
  padding:18px;
}

.project-workspace-header{
  position:sticky;
  top:18px;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(30,30,34,0.05);
  margin-bottom:14px;
}

.project-workspace-header__left{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.project-workspace-header__back{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  text-decoration:none;
  background:#f8f6f6;
  border:1px solid rgba(30,30,34,0.06);
  color:#24242b;
  font-size:20px;
  line-height:1;
}

.project-workspace-header__eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9a8f8f;
  margin-bottom:6px;
}

.project-workspace-header__title{
  margin:0;
  font-size:24px;
  line-height:1.1;
  font-weight:800;
  color:#1f1f24;
}

.project-workspace-header__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:8px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8d8484;
}

.project-workspace-header__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  flex:0 0 auto;
}

.rsvp-dashboard-main{
  min-width:0;
}

.rsvp-dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
  flex-wrap:wrap;
}

.rsvp-dashboard-head__left{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-width:0;
}

.rsvp-dashboard-icon{
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f8f1f5;
  font-size:20px;
}

.rsvp-dashboard-title{
  margin:0;
  font-size:22px;
  line-height:1.1;
  font-weight:800;
  color:#1f1f24;
}

.rsvp-dashboard-sub{
  margin:8px 0 0 0;
  max-width:660px;
  color:#75717a;
  font-size:14px;
  line-height:1.6;
}

.rsvp-dashboard-rolechips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.rsvp-role-chip{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  border:1px solid rgba(30,30,34,0.06);
  background:#fff;
  color:#66636a;
}

.rsvp-role-chip.is-rsvp{ background:#f8f2f7; color:#6e4c69; }
.rsvp-role-chip.is-transport{ background:#f4f3fb; color:#5e5d88; }
.rsvp-role-chip.is-hospitality{ background:#f3f7f2; color:#5f7454; }
.rsvp-role-chip.is-lead{ background:#f7f4ee; color:#7f6545; }

.rsvp-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}

.rsvp-kpi-card{
  background:#fff;
  border:1px solid rgba(30,30,34,0.05);
  border-radius:24px;
  padding:18px 20px;
  min-height:122px;
}

.rsvp-kpi-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9a8f8f;
  margin-bottom:14px;
}

.rsvp-kpi-value{
  font-size:42px;
  line-height:1;
  font-weight:800;
  color:#24191d;
  letter-spacing:-.03em;
}

.rsvp-kpi-sub{
  margin-top:14px;
  font-size:14px;
  color:#7a7680;
  line-height:1.5;
}

.rsvp-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(320px,0.9fr);
  gap:16px;
  align-items:start;
}

.rsvp-dashboard-col{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}

.rsvp-panel{
  padding:20px;
  border-radius:26px;
}

.rsvp-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
  flex-wrap:wrap;
}

.rsvp-panel-title{
  font-size:18px;
  font-weight:800;
  color:#222227;
  line-height:1.2;
}

.rsvp-panel-sub{
  margin-top:6px;
  font-size:13px;
  color:#7a7680;
  line-height:1.55;
}

.rsvp-summary-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.rsvp-summary-stat{
  border:1px solid rgba(30,30,34,0.05);
  background:#fbfbfc;
  border-radius:20px;
  padding:16px;
}

.rsvp-summary-stat__label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9a8f8f;
  margin-bottom:10px;
}

.rsvp-summary-stat__value{
  font-size:32px;
  line-height:1;
  font-weight:800;
  color:#24191d;
}

.rsvp-progress-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.rsvp-progress-row{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) 52px;
  gap:12px;
  align-items:center;
}

.rsvp-progress-label{
  font-size:14px;
  font-weight:700;
  color:#2c2c31;
}

.rsvp-progress-track,
.rsvp-event-track{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#ece7e7;
  overflow:hidden;
}

.rsvp-progress-fill,
.rsvp-event-fill{
  height:100%;
  border-radius:999px;
}

.rsvp-progress-fill.is-attending{ background:#7a0015; }
.rsvp-progress-fill.is-declined{ background:#b88e95; }
.rsvp-progress-fill.is-pending{ background:#dad3d3; }
.rsvp-event-fill{ background:#7a0015; }

.rsvp-progress-value{
  font-size:13px;
  font-weight:700;
  color:#6f6a72;
  text-align:right;
}

.rsvp-chip-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.rsvp-chip-card{
  padding:16px;
  border-radius:20px;
  background:#fbfbfc;
  border:1px solid rgba(30,30,34,0.05);
}

.rsvp-chip-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9a8f8f;
  margin-bottom:10px;
}

.rsvp-chip-value{
  font-size:28px;
  line-height:1;
  font-weight:800;
  color:#24191d;
}

.rsvp-event-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.rsvp-event-row{
  display:grid;
  grid-template-columns:minmax(170px,0.7fr) minmax(0,1fr) 150px;
  gap:14px;
  align-items:center;
}

.rsvp-event-name{
  font-size:15px;
  font-weight:800;
  color:#24242a;
}

.rsvp-event-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
  font-size:12px;
  color:#8b8489;
}

.rsvp-event-count{
  font-size:14px;
  font-weight:800;
  color:#2a2a30;
  text-align:right;
}

.rsvp-event-sub{
  margin-top:6px;
  font-size:12px;
  color:#7b7680;
  text-align:right;
}

.rsvp-alert-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.rsvp-alert-card{
  padding:16px;
  border-radius:20px;
  background:#fbfbfc;
  border:1px solid rgba(30,30,34,0.05);
}

.rsvp-alert-card__label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9a8f8f;
}

.rsvp-alert-card__value{
  margin-top:10px;
  font-size:30px;
  line-height:1;
  font-weight:800;
  color:#24191d;
}

.rsvp-alert-card__link{
  display:inline-block;
  margin-top:10px;
  font-size:13px;
  font-weight:700;
  color:#6b0014;
  text-decoration:none;
}

.rsvp-alert-card__link:hover{
  text-decoration:underline;
}

.rsvp-quick-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.rsvp-task-kpis{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.rsvp-task-kpi{
  border:1px solid rgba(30,30,34,0.05);
  background:#fbfbfc;
  border-radius:20px;
  padding:14px;
}

.rsvp-task-kpi__label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9a8f8f;
  margin-bottom:10px;
}

.rsvp-task-kpi__value{
  font-size:28px;
  line-height:1;
  font-weight:800;
  color:#24191d;
}

.rsvp-task-list,
.rsvp-update-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.rsvp-task-row,
.rsvp-update-row{
  padding:14px 0;
  border-bottom:1px solid rgba(30,30,34,0.06);
}

.rsvp-task-row:last-child,
.rsvp-update-row:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.rsvp-task-row__title,
.rsvp-update-row__title{
  font-size:15px;
  font-weight:800;
  color:#24242a;
  line-height:1.35;
}

.rsvp-task-row__meta,
.rsvp-update-row__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:7px;
  font-size:12px;
  color:#7b7680;
}

.rsvp-empty-state{
  padding:18px;
  border-radius:20px;
  background:#fbfbfc;
  border:1px dashed rgba(30,30,34,0.08);
  color:#7d7881;
  font-size:14px;
  line-height:1.5;
}

@media (max-width: 1280px){
  .rsvp-kpi-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .rsvp-dashboard-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 920px){
  .project-workspace-header{
    position:relative;
    top:auto;
    flex-direction:column;
    align-items:flex-start;
  }

  .rsvp-summary-grid,
  .rsvp-chip-grid,
  .rsvp-task-kpis{
    grid-template-columns:1fr;
  }

  .rsvp-event-row{
    grid-template-columns:1fr;
  }

  .rsvp-event-count,
  .rsvp-event-sub{
    text-align:left;
  }

  .rsvp-progress-row{
    grid-template-columns:1fr;
  }
}

@media (max-width: 680px){
  .topbar{
    flex-direction:column;
    align-items:stretch;
  }

  .topbar-search{
    max-width:none;
  }

  .topbar-user{
    justify-content:flex-end;
  }

  .rsvp-kpi-grid{
    grid-template-columns:1fr;
  }
}

:root {
  --font-title: 2rem;          /* 32px */
  --font-kpi: 2rem;            /* 32px */
  --font-section: 1.125rem;    /* 18px */
  --font-body: 0.9375rem;      /* 15px */
  --font-subtext: 0.75rem;     /* 12px */
}

.section-title {
  font-size: var(--font-section);
  line-height: 1.2;
  font-weight: 700;
}

.section-subtext {
  font-size: var(--font-subtext);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b7f7b;
}

.kpi-label,
.rsvp-stat-label,
.rsvp-mini-label,
.followup-label,
.rsvp-alert-label {
  font-size: var(--font-subtext);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b7f7b;
  font-weight: 700;
}

.kpi-value,
.rsvp-stat-number,
.rsvp-mini-value,
.rsvp-action-number,
.rsvp-donut-total {
  font-size: var(--font-kpi);
  line-height: 1;
  font-weight: 700;
  color: #1b1b1b;
}

.kpi-subtext,
.legend-label,
.rsvp-donut-caption,
.empty-note,
.rsvp-action-box a,
.rsvp-panel p {
  font-size: var(--font-body);
  line-height: 1.45;
}

.rsvp-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
}

.rsvp-main-column,
.rsvp-side-column {
  display: grid;
  gap: 24px;
  align-content: start;
}

.rsvp-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.rsvp-panel,
.kpi-card,
.rsvp-alerts-card {
  padding: 20px;
  border-radius: 24px;
}

.rsvp-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  margin-bottom: 18px;
}

.rsvp-status-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.rsvp-donut-wrap {
  display: flex;
  justify-content: center;
}

.rsvp-donut {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  position: relative;
}

.rsvp-donut-center {
  position: absolute;
  inset: 22px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.rsvp-status-legend {
  display: grid;
  gap: 12px;
}

.rsvp-legend-row {
  display: grid;
  grid-template-columns: 14px 1fr auto;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.legend-attending { background: #7b001c; }
.legend-declined { background: #c98a98; }
.legend-pending { background: #e8e0df; }

.legend-count {
  font-size: var(--font-body);
  font-weight: 700;
}

.rsvp-stat-grid.three-up {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.rsvp-stat-box {
  border: 1px solid #ede5e3;
  border-radius: 18px;
  padding: 16px;
  background: #fff;
}

.followup-stack {
  display: grid;
  gap: 14px;
}

.followup-row {
  display: grid;
  grid-template-columns: 90px 1fr 32px;
  gap: 16px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.followup-bar {
  height: 10px;
  border-radius: 999px;
  background: #efe7e6;
  overflow: hidden;
}

.followup-bar span {
  display: block;
  height: 100%;
  background: #7b001c;
  border-radius: 999px;
}

.rsvp-alert-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.rsvp-alert-item {
  border: 1px solid #ede5e3;
  border-radius: 18px;
  padding: 16px;
  background: #fff;
}

.rsvp-alert-value {
  font-size: 28px;
  font-weight: 700;
  margin-top: 8px;
}

.rsvp-action-box {
  border: 1px solid #ede5e3;
  border-radius: 18px;
  padding: 16px;
  background: #fff;
  margin-bottom: 16px;
}

.rsvp-action-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.rsvp-task-summary {
  display: grid;
  gap: 16px;
}

.rsvp-mini-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rsvp-mini-kpi {
  border: 1px solid #ede5e3;
  border-radius: 18px;
  padding: 14px;
  background: #fff;
}

.empty-note {
  border: 1px dashed #e6dedd;
  border-radius: 16px;
  padding: 16px;
  color: #8b7f7b;
  background: #fcfafa;
}

.project-sidebar-icon img {
  width: 18px;
  height: 18px;
  display: block;
}

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

  .rsvp-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rsvp-alert-list {
    grid-template-columns: 1fr;
  }

  .rsvp-status-layout {
    grid-template-columns: 1fr;
  }
}

.guests-lite-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.guests-lite-detail-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.guest-editor-page .surface.project-surface{
  padding:18px;
}

.guest-editor-main .project-workspace-header{
  margin-bottom:14px;
}

.guest-editor-main .guest-create-head{
  top:10px;
}

.guest-editor-main .guest-create-sub{
  max-width:760px;
}

.guest-editor-main .project-sidebar-wrap{
  align-self:start;
}

.guest-editor-main .proj-main{
  min-width:0;
}

.linked-edit-checks{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:6px;
}

.linked-edit-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(30,30,34,0.08);
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  min-height:56px;
}

.linked-edit-check input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:2px 0 0 0;
  flex:0 0 18px;
  accent-color:#7b001c;
}

.linked-edit-check span{
  font-size:14px;
  line-height:1.35;
  color:#232327;
}

@media (max-width: 900px){
  .linked-edit-checks{
    grid-template-columns:1fr;
  }
}

/* =========================
   Guest editor project rail
   ========================= */

.guest-editor-page .project-shell{
  display:flex;
  align-items:flex-start;
  gap:20px;
}

.guest-editor-page .project-sidebar-wrap{
  flex:0 0 320px;
  width:320px;
  min-width:320px;
  align-self:flex-start;
}

.guest-editor-page .proj-main{
  flex:1 1 auto;
  min-width:0;
}

.guest-editor-page .project-sidebar-wrap > .project-nav.project-nav--v2{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.guest-editor-page .project-nav-stack,
.guest-editor-page .project-nav-group{
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
}

.guest-editor-page .project-nav-item{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 16px;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  text-decoration:none;
}

.guest-editor-page .project-nav-item--card,
.guest-editor-page .project-nav-item--row{
  min-height:84px;
}

.guest-editor-page .project-nav-ico{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 46px;
}

.guest-editor-page .project-nav-ico-img{
  width:22px;
  height:22px;
  object-fit:contain;
}

.guest-editor-page .project-nav-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.guest-editor-page .project-nav-title{
  font-size:16px;
  line-height:1.2;
  white-space:normal;
}

.guest-editor-page .project-nav-sub{
  font-size:12px;
  line-height:1.35;
  white-space:normal;
}

.guest-editor-page .project-nav-arrow{
  justify-self:end;
  align-self:center;
}

/* collapsed state */
.guest-editor-page .project-shell.is-sidebar-collapsed .project-sidebar-wrap{
  flex:0 0 86px;
  width:86px;
  min-width:86px;
}

.guest-editor-page .project-shell.is-sidebar-collapsed .project-nav-item{
  grid-template-columns:1fr;
  justify-items:center;
  padding:14px 10px;
  min-height:68px;
}

.guest-editor-page .project-shell.is-sidebar-collapsed .project-nav-text,
.guest-editor-page .project-shell.is-sidebar-collapsed .project-nav-arrow{
  display:none;
}

.guest-editor-page .project-shell.is-sidebar-collapsed .project-nav-ico{
  margin:0 auto;
}

.guest-health-panel{
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(30,30,34,0.08);
}

.guest-health-head h3{
  margin:0;
  font-size:22px;
  line-height:1.1;
  font-weight:850;
  color:#141417;
}

.guest-health-head p{
  margin:8px 0 18px;
  font-size:14px;
  line-height:1.35;
  color:#786d70;
}

.guest-health-section{
  border-top:1px solid rgba(30,30,34,0.08);
}

.guest-health-section:last-child{
  border-bottom:1px solid rgba(30,30,34,0.08);
}

.guest-health-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  font-size:16px;
  font-weight:850;
  color:#141417;
}

.guest-health-summary::-webkit-details-marker{
  display:none;
}

.guest-health-summary span:first-child{
  flex:1;
}

.guest-health-caret{
  font-size:14px;
  color:#7f7477;
  transition:transform .18s ease;
}

.guest-health-section[open] .guest-health-caret{
  transform:rotate(180deg);
}

.guest-health-alert-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:#f05252;
  flex:0 0 auto;
}

.guest-health-body{
  padding:0 0 12px;
}

.guest-health-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:34px;
  padding:8px 10px;
  border-radius:12px;
  color:#2b2b30;
  text-decoration:none;
  font-size:13px;
}

.guest-health-row:hover{
  background:#f5f2f2;
}

.guest-health-row.is-active{
  background:rgba(123,0,28,0.08);
  color:#5b0014;
}

.guest-health-row.is-static{
  color:#6d6467;
}

.guest-health-row strong{
  font-size:13px;
  color:inherit;
}
.guest-health-row:hover{
  background:#f5f2f2;
}
.guest-health-row.is-active{
  background:rgba(123,0,28,0.08);
  color:#5b0014;
}
.guest-health-row.is-static{
  color:#6d6467;
}
.guest-health-row strong{
  font-size:13px;
  color:inherit;
}

.btn-rsvp-share{
  border-color:rgba(123,0,28,.18);
  background:#fff7fa;
  color:#5b0014;
}

.btn-rsvp-share:hover{
  background:#fff0f5;
  border-color:rgba(123,0,28,.28);
}

.btn-rsvp-share.is-copied{
  background:#ecfdf3;
  border-color:rgba(22,163,74,.28);
  color:#166534;
}

.rsvp-kpi-card--link,
.rsvp-stat-box--link,
.rsvp-status-layout--link,
.rsvp-event-row--link{
  text-decoration:none;
  color:inherit;
}

.rsvp-kpi-card--link,
.rsvp-stat-box--link,
.rsvp-event-row--link{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.rsvp-kpi-card--link:hover,
.rsvp-stat-box--link:hover{
  transform:translateY(-2px);
  border-color:rgba(123,0,28,.18);
  box-shadow:0 18px 44px rgba(35,24,24,.08);
  background:#fff;
}

.rsvp-status-layout--link{
  display:grid;
}

.rsvp-status-layout--link:hover{
  background:rgba(123,0,28,.025);
  border-radius:18px;
}

.rsvp-event-row--link{
  display:grid;
}

.rsvp-event-row--link:hover{
  background:rgba(123,0,28,.035);
  transform:translateX(2px);
}

.guest-quick-actions{
  margin-top:22px;
  margin-bottom:22px;
  padding-top:18px;
  padding-bottom:18px;
  border-top:1px solid rgba(30,30,34,.08);
  border-bottom:1px solid rgba(30,30,34,.08);
}

.guest-quick-actions__summary{
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  user-select:none;
  padding:2px 0;
}

.guest-quick-actions__summary::-webkit-details-marker{
  display:none;
}

.guest-quick-actions__summary h3{
  margin:0;
  font-size:16px;
  line-height:1.2;
  font-weight:850;
  color:#18181b;
}

.guest-quick-actions__summary p{
  margin:6px 0 0;
  font-size:12px;
  line-height:1.4;
  color:#7d7174;
}

.guest-quick-actions__caret{
  font-size:16px;
  line-height:1;
  color:#7d7174;
  transition:transform .18s ease;
  margin-top:2px;
}

.guest-quick-actions[open] .guest-quick-actions__caret{
  transform:rotate(180deg);
}

.guest-quick-actions__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:16px;
}

.guest-quick-action-btn{
  width:100%;
  border:1px solid rgba(123,0,28,.14);
  background:#fff7fa;
  color:#5b0014;
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
  font-weight:750;
  text-align:left;
  cursor:pointer;
}

.guest-quick-action-btn:hover{
  background:#fff0f5;
  border-color:rgba(123,0,28,.28);
}

.transport-today-band{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  margin:0 0 14px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 18px 44px rgba(31,24,24,.04);
}

.transport-today-kicker{
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8a7f82;
}

.transport-today-copy h3{
  margin:6px 0 0;
  font-size:24px;
  line-height:1.08;
  font-weight:850;
  color:#19191d;
}

.transport-today-copy p{
  margin:6px 0 0;
  font-size:13px;
  line-height:1.4;
  color:#746d70;
}

.transport-today-metrics{
  display:grid;
  grid-template-columns:repeat(2, minmax(110px, 1fr));
  gap:10px;
  min-width:260px;
}

.transport-today-metric{
  padding:14px;
  border-radius:20px;
  background:#f7f4f4;
  border:1px solid rgba(0,0,0,.04);
}

.transport-today-metric span{
  display:block;
  font-size:11px;
  font-weight:750;
  color:#7f7477;
  margin-bottom:6px;
}

.transport-today-metric strong{
  display:block;
  font-size:24px;
  line-height:1;
  color:#17171a;
}

.transport-today-metric.is-primary{
  background:#fff7fa;
  border-color:rgba(123,0,28,.12);
}

.transport-today-metric.is-primary strong{
  color:#6b0018;
}

@media (max-width:760px){
  .transport-today-band{
    align-items:flex-start;
    flex-direction:column;
  }

  .transport-today-metrics{
    width:100%;
    min-width:0;
  }
}

.transport-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}

.transport-dashboard-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:24px;
  padding:18px 18px 16px;
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 16px 40px rgba(31,24,24,.04);
}

.transport-dashboard-card--primary{
  background:rgba(75,0,31,0.05);
  border-color:rgba(75,0,31,0.08);
}

.transport-dashboard-card__label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a7d82;
  line-height:1.35;
}

.transport-dashboard-card__value{
  margin-top:10px;
  font-size:34px;
  line-height:1;
  font-weight:850;
  color:#1c1c20;
}

.transport-dashboard-card--primary .transport-dashboard-card__value{
  color:#6f001d;
}

.transport-dashboard-card__meta{
  margin-top:10px;
  font-size:12px;
  line-height:1.45;
  color:#78737a;
}

@media (max-width:1280px){
  .transport-dashboard-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

@media (max-width:920px){
  .transport-dashboard-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

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


.transport-dashboard-shell{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0 0 16px;
}

.transport-metric-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.transport-metric-card{
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid rgba(30,30,34,.06);
  border-radius:24px;
  padding:18px;
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 16px 40px rgba(31,24,24,.04);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.transport-metric-card:hover{
  transform:translateY(-2px);
  border-color:rgba(123,0,28,.18);
  box-shadow:0 18px 44px rgba(31,24,24,.08);
}

.transport-metric-card--primary{
  background:rgba(123,0,28,.045);
  border-color:rgba(123,0,28,.08);
}

.transport-metric-card span{
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8b7f83;
}

.transport-metric-card strong{
  margin-top:10px;
  font-size:34px;
  line-height:1;
  font-weight:900;
  color:#16161a;
}

.transport-metric-card--primary strong{
  color:#76001d;
}

.transport-metric-card em{
  margin-top:10px;
  font-style:normal;
  font-size:12px;
  line-height:1.4;
  color:#777078;
}

.transport-analytics-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.transport-analytics-card{
  background:#fff;
  border:1px solid rgba(30,30,34,.06);
  border-radius:26px;
  padding:18px;
  box-shadow:0 16px 40px rgba(31,24,24,.04);
}

.transport-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.transport-card-head h3{
  margin:0;
  font-size:18px;
  line-height:1.15;
  font-weight:900;
  color:#17171a;
}

.transport-card-head p{
  margin:5px 0 0;
  font-size:12px;
  line-height:1.4;
  color:#7a7277;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:750;
}

.transport-bars{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.transport-bar-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 32px;
  gap:10px;
  align-items:center;
}

.transport-bar-label{
  font-size:12px;
  font-weight:800;
  color:#766d72;
}

.transport-bar-track{
  height:12px;
  border-radius:999px;
  background:#f2e9ec;
  overflow:hidden;
  display:flex;
}

.transport-bar-fill{
  height:100%;
  min-width:0;
}

.transport-bar-fill--airport{
  background:#8a001f;
}

.transport-bar-fill--railway{
  background:#d18b9b;
}

.transport-bar-value{
  text-align:right;
  font-size:12px;
  font-weight:850;
  color:#231f22;
}

.transport-legend{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:14px;
  font-size:12px;
  color:#756d72;
}

.transport-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.transport-legend i{
  width:8px;
  height:8px;
  border-radius:999px;
  display:inline-block;
}

.legend-airport{ background:#8a001f; }
.legend-railway{ background:#d18b9b; }

.driver-progress-number{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin-top:4px;
}

.driver-progress-number strong{
  font-size:44px;
  line-height:1;
  font-weight:900;
  color:#76001d;
}

.driver-progress-number span{
  font-size:13px;
  font-weight:800;
  color:#766d72;
  padding-bottom:6px;
}

.driver-progress-track{
  height:14px;
  border-radius:999px;
  background:#f2e9ec;
  overflow:hidden;
  margin-top:16px;
}

.driver-progress-fill{
  height:100%;
  border-radius:999px;
  background:#8a001f;
}

.driver-progress-meta{
  margin-top:10px;
  font-size:12px;
  line-height:1.4;
  color:#766d72;
}

.transport-event-card{
  margin-top:0;
}

.transport-event-bars{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.transport-event-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:14px;
  padding:12px 0;
  border-top:1px solid rgba(30,30,34,.06);
}

.transport-event-row:first-child{
  border-top:none;
  padding-top:0;
}

.transport-event-row strong{
  display:block;
  font-size:14px;
  font-weight:900;
  color:#17171a;
}

.transport-event-row span{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:#7b7478;
}

.transport-event-stack{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
}

.transport-event-stack div{
  border-radius:16px;
  background:#f8f5f5;
  padding:10px;
}

.transport-event-stack span{
  margin:0;
  font-size:11px;
  line-height:1.25;
  color:#7d7478;
}

.transport-event-stack b{
  display:block;
  margin-top:6px;
  font-size:18px;
  color:#17171a;
}

.transport-empty-mini{
  border-radius:16px;
  background:#f8f5f5;
  padding:14px;
  font-size:13px;
  color:#7b7478;
}

@media (max-width:1280px){
  .transport-metric-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .transport-analytics-grid{
    grid-template-columns:1fr;
  }

  .transport-event-row{
    grid-template-columns:1fr;
  }

  .transport-event-stack{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:680px){
  .transport-metric-grid,
  .transport-event-stack{
    grid-template-columns:1fr;
  }
}

/* ---------- Workspace header, matching RSVP dashboard ---------- */

.project-workspace-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:26px 28px;
  margin-bottom:22px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(30,30,34,.06);
  box-shadow:0 18px 48px rgba(31,24,24,.04);
}

.project-workspace-header__left{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}

.project-workspace-header__back{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#17171a;
  background:#f8f6f6;
  border:1px solid rgba(30,30,34,.08);
  font-size:24px;
  line-height:1;
}

.project-workspace-header__eyebrow{
  font-size:12px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9a8f93;
}

.project-workspace-header__title{
  margin:6px 0 0;
  font-size:30px;
  line-height:1.08;
  font-weight:900;
  color:#202024;
}

.project-workspace-header__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:10px;
  font-size:13px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8b7f83;
}

.project-workspace-header__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

@media (max-width:900px){
  .project-workspace-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .project-workspace-header__actions{
    width:100%;
    justify-content:flex-start;
  }

  .project-workspace-header__title{
    font-size:24px;
  }
}

.transport-clean-grid--single{
  grid-template-columns:1fr;
}

.transport-clean-grid--single .transport-ops-list{
  grid-template-columns:repeat(3, minmax(0,1fr));
}

@media (max-width:900px){
  .transport-clean-grid--single .transport-ops-list{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:640px){
  .transport-clean-grid--single .transport-ops-list{
    grid-template-columns:1fr;
  }
}

.travel-table thead th:nth-child(7),
.travel-table tbody td:nth-child(7){
  width:110px;
  min-width:110px;
}

/* ---------- Admin department operations rollup ---------- */

.admin-ops-card{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.admin-ops-head{
  margin-bottom:0 !important;
}

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

.admin-ops-panel{
  min-width:0;
  border:1px solid rgba(30,30,34,.06);
  border-radius:24px;
  background:#fff;
  padding:18px;
  box-shadow:0 16px 38px rgba(31,24,24,.035);
}

.admin-ops-panel--rsvp{
  background:rgba(123,0,28,.035);
  border-color:rgba(123,0,28,.08);
}

.admin-ops-panel-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.admin-ops-panel-top h3{
  margin:5px 0 0;
  font-size:18px;
  line-height:1.12;
  font-weight:900;
  color:#17171a;
}

.admin-ops-panel-top a{
  white-space:nowrap;
  font-size:12px;
  font-weight:850;
  color:#76001d;
  text-decoration:none;
}

.admin-ops-kicker{
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8b7f83;
}

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

.admin-ops-metric{
  min-width:0;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(30,30,34,.06);
  border-radius:18px;
  background:#faf8f8;
  padding:13px 14px;
  transition:background .16s ease, border-color .16s ease, transform .16s ease;
}

.admin-ops-metric:hover{
  background:#fff7fa;
  border-color:rgba(123,0,28,.14);
  transform:translateY(-1px);
}

.admin-ops-metric span{
  display:block;
  font-size:10px;
  line-height:1.3;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8b7f83;
}

.admin-ops-metric strong{
  display:block;
  margin-top:7px;
  font-size:28px;
  line-height:1;
  font-weight:950;
  color:#17171a;
}

.admin-ops-panel--rsvp .admin-ops-metric strong{
  color:#76001d;
}

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

.admin-ops-progress-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8b7f83;
}

.admin-ops-progress-track{
  height:11px;
  border-radius:999px;
  background:#f0e3e7;
  overflow:hidden;
}

.admin-ops-progress-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#8a001f;
}

.admin-ops-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}

.admin-ops-pill-row span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  border-radius:999px;
  background:#f7f2f4;
  border:1px solid rgba(30,30,34,.05);
  padding:0 10px;
  font-size:11px;
  font-weight:800;
  color:#665f63;
}

.admin-attention-panel{
  border:1px solid rgba(123,0,28,.08);
  border-radius:24px;
  background:linear-gradient(180deg, #fff, #fff8fa);
  padding:18px;
}

.admin-attention-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.admin-attention-head h3{
  margin:0;
  font-size:18px;
  line-height:1.12;
  font-weight:900;
  color:#17171a;
}

.admin-attention-head p{
  margin:5px 0 0;
  font-size:12px;
  line-height:1.4;
  color:#7b7377;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
}

.admin-attention-head > span{
  white-space:nowrap;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(123,0,28,.10);
  padding:8px 11px;
  font-size:11px;
  font-weight:850;
  color:#76001d;
}

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

.admin-attention-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(30,30,34,.06);
  border-radius:18px;
  background:#fff;
  padding:13px 14px;
}

.admin-attention-item:hover{
  background:#fff7fa;
  border-color:rgba(123,0,28,.14);
}

.admin-attention-item strong{
  display:block;
  font-size:13px;
  line-height:1.25;
  font-weight:900;
  color:#1b1b1f;
}

.admin-attention-item span{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.3;
  color:#82787d;
}

.admin-attention-item em{
  font-style:normal;
  min-width:36px;
  height:36px;
  border-radius:14px;
  background:#76001d;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  font-weight:950;
}

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

@media (max-width:760px){
  .admin-ops-metrics,
  .admin-attention-list{
    grid-template-columns:1fr;
  }

  .admin-ops-panel-top,
  .admin-attention-head{
    flex-direction:column;
  }
}

.resource-upload-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}

.resource-upload-card{
  border:1px solid rgba(30,30,34,.07);
  background:#fff;
  border-radius:18px;
  padding:14px;
}

.resource-upload-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.resource-upload-row{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
  align-items:flex-start;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(30,30,34,.07);
  background:#faf9f8;
}

.resource-upload-title{
  font-weight:900;
  color:#1f1f23;
}

.resource-upload-sub{
  margin-top:5px;
  font-size:12px;
  line-height:1.4;
  color:#7c7478;
}

.resource-upload-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.resource-upload-fields input[type="file"]{
  grid-column:1 / -1;
  padding:12px;
  border-radius:16px;
  background:#fff;
  border:1px dashed rgba(123,0,28,.22);
}

@media (max-width:980px){
  .resource-upload-grid,
  .resource-upload-row,
  .resource-upload-fields{
    grid-template-columns:1fr;
  }
}

.resource-existing-files{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.resource-existing-file{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(30,30,34,.06);
}

.resource-existing-file strong{
  font-size:13px;
  color:#222;
}

.resource-existing-file span{
  font-size:12px;
  color:#777;
}

/* =========================================================
   Responsive foundation polish
   ========================================================= */

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

img,
svg,
video,
canvas{
  max-width:100%;
  height:auto;
}

input,
select,
textarea,
button{
  max-width:100%;
}

table{
  max-width:100%;
}

.project-shell,
.project-workspace,
.project-workspace-main,
.project-workspace-content,
.project-dashboard-grid,
.project-rsvp-snapshot-row,
.admin-ops-grid,
.hospitality-dashboard-clean,
.transport-dashboard-clean{
  min-width:0;
}

.project-workspace-card,
.card,
.guest-card,
.rsvp-resource-card,
.transport-card,
.hospitality-analytics-card,
.admin-ops-panel{
  min-width:0;
  overflow-wrap:anywhere;
}

.table-scroll,
.guest-table-scroll,
.transport-table-scroll,
.hospitality-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.table-scroll table,
.guest-table-scroll table,
.transport-table-scroll table,
.hospitality-table-scroll table{
  min-width:720px;
}

@media (max-width:1280px){
  .project-dashboard-grid,
  .project-rsvp-snapshot-row,
  .admin-ops-grid,
  .hospitality-analytics-grid,
  .transport-analytics-grid{
    grid-template-columns:1fr !important;
  }

  .project-workspace-main,
  .project-shell{
    gap:18px;
  }

  .project-sidebar,
  .project-nav{
    max-width:280px;
  }
}

@media (max-width:1024px){
  .project-shell,
  .project-workspace-layout,
  .rsvp-dashboard-layout,
  .transport-layout,
  .hospitality-layout{
    grid-template-columns:1fr !important;
  }

  .project-sidebar,
  .project-nav{
    position:relative !important;
    top:auto !important;
    width:100% !important;
    max-width:none !important;
  }

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

  .project-nav-item--row{
    border-radius:18px;
  }

  .project-workspace-header,
  .project-hero,
  .rsvp-setup-hero{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }

  .project-workspace-header__actions,
  .rsvp-setup-actions,
  .hosp-actions,
  .transport-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}

@media (max-width:760px){
  body{
    font-size:14px;
  }

  .app-shell,
  .project-page-shell,
  .workspace-page,
  .project-workspace{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .app-rail,
  .global-rail,
  .left-rail{
    width:64px !important;
    min-width:64px !important;
  }

  .project-workspace-inner,
  .project-dashboard-inner,
  .rsvp-setup-main,
  .guest-form-shell{
    width:100% !important;
    max-width:100% !important;
    padding:14px !important;
  }

  .project-workspace-header,
  .project-hero,
  .rsvp-setup-hero{
    border-radius:24px;
    padding:18px;
  }

  .project-workspace-header h1,
  .project-hero h1,
  .rsvp-setup-title{
    font-size:24px !important;
    line-height:1.08 !important;
  }

  .project-nav{
    grid-template-columns:1fr;
  }

  .project-nav-sub{
    display:none;
  }

  .admin-ops-metrics,
  .admin-attention-list,
  .resource-upload-grid,
  .resource-upload-row,
  .resource-upload-fields{
    grid-template-columns:1fr !important;
  }

  .btn,
  button,
  .button{
    min-height:44px;
  }

  .project-workspace-header__actions .btn,
  .rsvp-setup-actions .btn,
  .hosp-actions .btn,
  .transport-actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* ==========================================================================
   FINAL RESPONSIVE SAFETY PASS — added after all existing CSS
   Purpose: prevent overflow, stack layouts cleanly, and make dashboards usable
   on laptop/tablet/mobile without rewriting existing page styles.
   ========================================================================== */

/* ---------- universal overflow safety ---------- */

*,
*::before,
*::after{
  box-sizing:border-box;
}

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

img,
svg,
video,
canvas{
  max-width:100%;
  height:auto;
}

input,
select,
textarea,
button{
  max-width:100%;
}

input,
select,
textarea{
  font-family:inherit;
}

/* iOS Safari: prevents zoom-on-focus */
@media (max-width:760px){
  input,
  select,
  textarea{
    font-size:16px !important;
  }
}

/* ---------- prevent grid/flex children from forcing overflow ---------- */

.app-main,
.surface,
.db2-main,
.db2-surface,
.dashboard-saas .app-main,
.dashboard-saas .surface,
.dashboard-saas .project-workspace-surface,
.dashboard-saas .project-workspace-grid,
.dashboard-saas .project-workspace-main,
.dashboard-saas .project-workspace-sidepanel,
.dashboard-saas .project-workspace-card,
.dashboard-saas .project-nav-text,
.dashboard-saas .project-workspace-head-copy,
.dashboard-saas .dash-search-wrap,
.dashboard-saas .projects-card-copy,
.dashboard-saas .tasks-board-head-copy,
.dashboard-saas .team-page-copy,
.dashboard-saas .task-create-head-copy,
.dashboard-saas .task-detail-head-copy,
.dashboard-saas .project-team-head-copy{
  min-width:0;
}

/* ---------- table scroll safety ---------- */

.table-scroll,
.guest-table-scroll,
.transport-table-scroll,
.hospitality-table-scroll,
.team-table-wrap,
.team-v2-table-wrap,
.project-team-table-wrap,
.projects-table-wrap,
.dashboard-saas .team-table-wrap,
.dashboard-saas .team-v2-table-wrap,
.dashboard-saas .project-team-table-wrap,
.dashboard-saas .projects-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.table-scroll table,
.guest-table-scroll table,
.transport-table-scroll table,
.hospitality-table-scroll table,
.team-table,
.team-v2-table,
.project-team-table,
.projects-table,
.dashboard-saas .team-table,
.dashboard-saas .team-v2-table,
.dashboard-saas .project-team-table,
.dashboard-saas .projects-table{
  min-width:720px;
}

/* ---------- cards should wrap long names/content instead of breaking layout ---------- */

.card,
.project-workspace-card,
.dashboard-saas .project-workspace-card,
.dashboard-saas .projects-workspace-card,
.dashboard-saas .tasks-board-card,
.dashboard-saas .project-grid-card,
.dashboard-saas .dash-project-card,
.dashboard-saas .team-v2-form-card,
.dashboard-saas .team-v2-list-card,
.dashboard-saas .task-detail-card,
.dashboard-saas .task-create-form-card,
.dashboard-saas .project-team-form-card,
.dashboard-saas .project-team-list-card{
  overflow-wrap:anywhere;
}

/* ==========================================================================
   DESKTOP/LAPTOP RESPONSIVE
   ========================================================================== */

@media (max-width:1500px){
  .dashboard-saas .project-workspace-grid,
  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:280px minmax(0,1fr) !important;
  }

  .dashboard-saas .project-workspace-sidepanel{
    grid-column:1 / -1 !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }

  .dashboard-saas .projects-card-grid,
  .dashboard-saas .projects-workspace-grid,
  .projects-index-page .projects-v2-grid{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}

@media (max-width:1280px){
  .dashboard-saas .dash-content-grid,
  .db2-content-grid,
  .dashboard-saas .project-show-grid,
  .dashboard-saas .task-create-grid,
  .dashboard-saas .task-detail-grid,
  .dashboard-saas .project-team-grid,
  .dashboard-saas .team-grid,
  .dashboard-saas .team-v2-grid{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .dash-stat-row,
  .dashboard-saas .tasks-board-stats,
  .dashboard-saas .project-show-stat-row,
  .db2-kpis{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }

  .dashboard-saas .tasks-board-grid{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .project-analytics-two-col,
  .dashboard-saas .project-rsvp-hero,
  .dashboard-saas .kids-demo-grid{
    grid-template-columns:1fr !important;
  }
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width:1020px){
  .dashboard-saas .project-workspace-grid,
  .dashboard-saas .project-workspace-grid.is-sidebar-collapsed{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .project-workspace-sidebar{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    min-height:0 !important;
  }

  .dashboard-saas .project-sidebar-rail-head,
  .dashboard-saas .project-sidebar-toggle{
    display:none !important;
  }

  .dashboard-saas .project-nav--v2{
    max-height:none !important;
    overflow:visible !important;
  }

  .dashboard-saas .project-nav-stack{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .dashboard-saas .project-nav-group{
    display:contents !important;
  }

  .dashboard-saas .project-nav-item--card,
  .dashboard-saas .project-nav-item--row{
    border-radius:18px !important;
    border:1px solid rgba(17,24,39,0.07) !important;
    box-shadow:0 8px 20px rgba(17,24,39,0.04) !important;
  }

  .dashboard-saas .project-workspace-head{
    position:relative !important;
    top:auto !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .dashboard-saas .project-workspace-head-actions{
    width:100% !important;
    justify-content:flex-start !important;
  }

  .dashboard-saas .event-headcount-row,
  .dashboard-saas .transport-demand-row,
  .dashboard-saas .stay-night-row,
  .dashboard-saas .recent-update-item,
  .dashboard-saas .team-task-row{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .recent-update-time{
    text-align:left !important;
  }
}

@media (max-width:920px){
  .dashboard-saas{
    display:block !important;
    padding:10px !important;
  }

  .dashboard-saas .sidebar{
    position:relative !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin-bottom:10px !important;
  }

  .dashboard-saas .app-main{
    min-height:auto !important;
  }

  .dashboard-saas .dash-topbar,
  .projects-index-page .projects-v2-topbar,
  .db2-topbar{
    height:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .dashboard-saas .dash-search-wrap,
  .projects-index-page .projects-v2-search-wrap,
  .db2-search-wrap{
    width:100% !important;
    max-width:none !important;
  }

  .dashboard-saas .dash-topbar-right,
  .projects-index-page .projects-v2-topbar-right,
  .db2-topbar-right{
    justify-content:space-between !important;
    flex-wrap:wrap !important;
  }

  .dashboard-saas .dash-hero,
  .dashboard-saas .projects-page-head,
  .dashboard-saas .tasks-board-head,
  .dashboard-saas .project-team-head,
  .dashboard-saas .task-create-head,
  .dashboard-saas .task-detail-head,
  .dashboard-saas .team-page-head,
  .dashboard-saas .projects-card-head,
  .db2-hero{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .dashboard-saas .dash-hero-actions,
  .dashboard-saas .projects-page-actions,
  .dashboard-saas .tasks-board-head-actions,
  .dashboard-saas .project-workspace-head-actions,
  .dashboard-saas .task-create-head-actions,
  .dashboard-saas .task-detail-head-actions,
  .dashboard-saas .team-page-actions,
  .db2-hero-actions{
    width:100% !important;
    flex-wrap:wrap !important;
  }

  .dashboard-saas .dash-hero-actions .btn,
  .dashboard-saas .projects-page-actions .btn,
  .dashboard-saas .tasks-board-head-actions .btn,
  .dashboard-saas .project-workspace-head-actions .btn,
  .dashboard-saas .task-create-head-actions .btn,
  .dashboard-saas .task-detail-head-actions .btn,
  .dashboard-saas .team-page-actions .btn,
  .db2-hero-actions .btn{
    flex:1 1 auto;
    justify-content:center;
  }

  .dashboard-saas .projects-card-grid,
  .dashboard-saas .projects-workspace-grid,
  .projects-index-page .projects-v2-grid{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .project-overview-grid,
  .dashboard-saas .project-workspace-link-grid,
  .dashboard-saas .project-show-link-grid,
  .dashboard-saas .project-rsvp-metric-grid,
  .dashboard-saas .event-headcount-summary-cards,
  .dashboard-saas .project-analytics-micro-grid,
  .dashboard-saas .project-ops-tiles,
  .dashboard-saas .transport-summary-grid,
  .dashboard-saas .stay-summary-grid{
    grid-template-columns:1fr !important;
  }
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width:760px){
  body{
    font-size:14px;
  }

  .surface,
  .db2-surface,
  .dashboard-saas .surface{
    padding:16px !important;
    border-radius:24px !important;
  }

  .db2-shell{
    display:block !important;
  }

  .db2-sidebar{
    width:100% !important;
    min-height:auto !important;
    padding:14px !important;
  }

  .db2-main{
    padding:0 10px 10px !important;
  }

  .dashboard-saas .dash-stat-row,
  .dashboard-saas .tasks-board-stats,
  .dashboard-saas .project-show-stat-row,
  .dashboard-saas .project-rsvp-metric-grid,
  .db2-kpis{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .project-workspace-head,
  .dashboard-saas .project-workspace-card,
  .dashboard-saas .project-nav-item--card,
  .dashboard-saas .project-nav-item--row,
  .dashboard-saas .tasks-board-lane,
  .dashboard-saas .tasks-board-card,
  .dashboard-saas .projects-workspace-card,
  .dashboard-saas .project-team-form-card,
  .dashboard-saas .project-team-list-card,
  .dashboard-saas .task-create-form-card,
  .dashboard-saas .task-detail-card{
    border-radius:20px !important;
  }

  .dashboard-saas .project-nav-stack{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .project-nav-sub{
    display:none !important;
  }

  .dashboard-saas .project-workspace-head-copy h1,
  .dashboard-saas .projects-page-copy h1,
  .dashboard-saas .tasks-board-head-copy h1,
  .dashboard-saas .task-create-head-copy h1,
  .dashboard-saas .task-detail-head-copy h1,
  .dashboard-saas .project-team-head-copy h1,
  .dashboard-saas .dash-hero-copy h1,
  .db2-hero-copy h1{
    font-size:24px !important;
    line-height:1.08 !important;
  }

  .dashboard-saas .project-workspace-head-actions .btn,
  .dashboard-saas .projects-page-actions .btn,
  .dashboard-saas .tasks-board-head-actions .btn,
  .dashboard-saas .task-create-head-actions .btn,
  .dashboard-saas .task-detail-head-actions .btn,
  .dashboard-saas .team-page-actions .btn,
  .db2-hero-actions .btn{
    width:100% !important;
    min-height:44px !important;
  }

  .dashboard-saas .task-create-row,
  .dashboard-saas .project-team-form-row,
  .form-grid,
  .grid-2,
  .row-grid{
    grid-template-columns:1fr !important;
  }

  .dashboard-saas .task-card-top,
  .dashboard-saas .tasks-board-card-top,
  .dashboard-saas .project-grid-card-top,
  .dashboard-saas .projects-workspace-card-top,
  .projects-index-page .projects-v2-card-top{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .dashboard-saas .task-project-pill,
  .dashboard-saas .tasks-board-card-project,
  .dashboard-saas .project-grid-badge,
  .dashboard-saas .projects-workspace-pill,
  .projects-index-page .projects-v2-type-pill{
    max-width:100% !important;
  }

  .dashboard-saas .project-rsvp-donut,
  .dashboard-saas .project-analytics-donut{
    width:180px !important;
    height:180px !important;
  }

  .dashboard-saas .project-rsvp-donut-hole{
    width:120px !important;
    height:120px !important;
  }

  .dashboard-saas .project-rsvp-donut-value,
  .dashboard-saas .project-rsvp-metric-value{
    font-size:34px !important;
  }

  .dashboard-saas .kids-demo-blocks{
    grid-template-columns:repeat(4, 1fr) !important;
  }
}

/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width:430px){
  .dashboard-saas,
  .db2-shell{
    padding:0 !important;
  }

  .dashboard-saas .surface,
  .db2-surface{
    border-radius:0 !important;
    min-height:100vh !important;
  }

  .dashboard-saas .dash-topbar-right,
  .projects-index-page .projects-v2-topbar-right,
  .db2-topbar-right{
    gap:8px !important;
  }

  .dashboard-saas .dash-role-chip,
  .projects-index-page .projects-v2-role-chip{
    display:none !important;
  }

  .dashboard-saas .dash-user-name,
  .projects-index-page .projects-v2-user-name,
  .db2-user-name{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .dashboard-saas .project-workspace-card,
  .dashboard-saas .tasks-board-lane,
  .dashboard-saas .tasks-board-card,
  .dashboard-saas .projects-workspace-card{
    padding:14px !important;
  }

  .dashboard-saas .project-nav-title{
    font-size:13px !important;
  }

  .dashboard-saas .project-nav-ico{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
}

.project-create-section{
  margin-top:20px;
}

.builder-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-top:18px;
}

.builder-actions{
  margin-top:18px;
}

.builder-card{
  border:1px solid #e7e3e1;
  border-radius:24px;
  padding:24px;
  background:#fbf9f8;
}

.builder-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.builder-card-head h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  color:#17171a;
}

.builder-grid{
  display:grid;
  gap:18px;
}

.builder-grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.field-span-2{
  grid-column:span 2;
}

.travel-builder-block{
  border:1px solid #ece7e4;
  border-radius:24px;
  background:#fff;
  padding:18px;
  margin-top:18px;
}

.travel-builder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.travel-builder-head h3{
  margin:0 0 6px;
  font-size:16px;
  font-weight:800;
}

.travel-builder-head p{
  margin:0;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8b7f83;
}

.btn-ghost{
  background:#fff;
  border:1px solid #e5dddd;
  color:#1d1d20;
}

.field small{
  display:block;
  margin-top:8px;
  color:#7d7478;
  font-size:12px;
  line-height:1.4;
}

@media (max-width: 1100px){
  .builder-grid-4{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px){
  .builder-grid-4{
    grid-template-columns:1fr;
  }

  .field-span-2{
    grid-column:auto;
  }

  .builder-card-head,
  .travel-builder-head{
    flex-direction:column;
    align-items:stretch;
  }

  .builder-card-head .btn,
  .travel-builder-head .btn{
    width:100%;
  }
}

.project-danger-details summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.project-danger-details summary::-webkit-details-marker{
  display:none;
}

.project-danger-details summary h2{
  margin:0;
}

.project-danger-details summary p{
  margin:6px 0 0;
}

.project-danger-details summary > span{
  flex:0 0 auto;
  border:1px solid rgba(123,0,28,.14);
  background:#fff7fa;
  color:#7b001c;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:800;
}

.project-danger-details[open] summary{
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,0,.06);
  margin-bottom:14px;
}

.rsvp-dashboard-context{
  margin:12px 0 18px;
  padding:11px 14px;
  border:1px solid rgba(123,0,28,.10);
  border-radius:16px;
  background:#fff8fa;
  color:#6f6468;
  font-size:12px;
  line-height:1.45;
}

.rsvp-dashboard-context strong{
  color:#5b0014;
  font-weight:850;
}

.rsvp-alert-item--link{
  text-decoration:none;
  color:inherit;
  transition:background .16s ease, border-color .16s ease, transform .16s ease;
}

.rsvp-alert-item--link:hover{
  background:#fff8fa;
  border-color:rgba(123,0,28,.14);
  transform:translateY(-1px);
}

.rsvp-action-box--primary{
  border-color:rgba(123,0,28,.16);
  background:linear-gradient(180deg, rgba(123,0,28,.045), #fff);
}

.rsvp-action-help{
  margin:6px 0 8px;
  font-size:12px;
  line-height:1.45;
  color:#766d72;
}

.rsvp-action-box a{
  font-size:12px;
  font-weight:850;
  color:#7b001d;
  text-decoration:none;
}

.rsvp-action-box a:hover{
  text-decoration:underline;
}

/* RSVP dashboard link normalization */
.rsvp-dashboard-main a:not(.btn):not(.rsvp-kpi-card):not(.followup-row):not(.rsvp-alert-item--link){
  color:#7b001d;
  text-decoration:underline;
  text-decoration-color:rgba(123,0,29,.42);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.rsvp-dashboard-main a:not(.btn):not(.rsvp-kpi-card):not(.followup-row):not(.rsvp-alert-item--link):hover{
  color:#4b0012;
  text-decoration-color:#4b0012;
}

/* Alert cards are full-card links, so prevent browser-blue text inside them */
.rsvp-alert-item--link,
.rsvp-alert-item--link:visited,
.rsvp-alert-item--link:hover{
  color:inherit;
  text-decoration:none;
}

.rsvp-alert-item--link .rsvp-alert-label{
  color:#7b001d;
  text-decoration:underline;
  text-decoration-color:rgba(123,0,29,.42);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.rsvp-alert-item--link .rsvp-alert-value{
  color:#111116;
  text-decoration:none;
}

/* Action links should use the product red, not default browser blue */
.rsvp-action-box a:not(.btn),
.rsvp-action-box a:not(.btn):visited{
  color:#7b001d;
  text-decoration:underline;
  text-decoration-color:rgba(123,0,29,.42);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  font-weight:750;
}

.rsvp-action-box a:not(.btn):hover{
  color:#4b0012;
  text-decoration-color:#4b0012;
}

/* RSVP right-column typography cleanup */
.rsvp-dashboard-col--side .section-subtext,
.rsvp-dashboard-col--side .rsvp-alert-label,
.rsvp-dashboard-col--side .rsvp-action-help,
.rsvp-dashboard-col--side .rsvp-action-box p{
  text-transform:none;
  letter-spacing:0;
}

.rsvp-dashboard-col--side .section-subtext{
  font-size:12px;
  line-height:1.4;
  color:#7a7075;
}

.rsvp-dashboard-col--side .rsvp-alert-label{
  font-size:12px;
  line-height:1.35;
  font-weight:800;
  color:#7b001d;
}

.rsvp-dashboard-col--side .rsvp-action-help,
.rsvp-dashboard-col--side .rsvp-action-box p{
  font-size:12px;
  line-height:1.45;
  font-weight:500;
  color:#746b70;
}

.rsvp-alert-list{
  gap:10px;
}

.rsvp-alert-item{
  min-width:0;
  padding:14px 12px;
}

.rsvp-alert-label{
  overflow-wrap:anywhere;
}

.rsvp-alert-value{
  margin-top:8px;
}

/* Transport typography cleanup */
.transport-card-head p,
.transport-ops-list__item span,
.transport-status-tile span,
.travel-stat-sub,
.overview-sub{
  text-transform:none;
  letter-spacing:0;
}

.transport-card-head p,
.overview-sub{
  font-size:12px;
  line-height:1.45;
  color:#756d72;
}

.transport-ops-list__item span,
.transport-status-tile span{
  font-size:11px;
  line-height:1.35;
  font-weight:800;
  color:#8a8085;
}

/* Product-style links */
.travel-side a:not(.btn),
.transport-dashboard-clean a:not(.btn),
.travel-top-grid a:not(.btn){
  color:#7b001d;
  text-decoration:underline;
  text-decoration-color:rgba(123,0,29,.42);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.travel-side a:not(.btn):hover,
.transport-dashboard-clean a:not(.btn):hover,
.travel-top-grid a:not(.btn):hover{
  color:#4b0012;
  text-decoration-color:#4b0012;
}

/* Phase 6A — project sidebar role chips */
.project-nav-role-strip{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:8px 10px 12px;
}

.project-nav-role-chip{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(123,0,29,.08);
  color:#7b001d;
  font-size:10px;
  line-height:1;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.project-nav-icon img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}

/* Phase 6A — repaired project sidebar styling */
.project-nav--v2{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  width:100% !important;
}

.project-nav--v2 .project-nav-role-strip{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  padding:0 0 6px !important;
}

.project-nav--v2 .project-nav-role-chip{
  display:inline-flex !important;
  align-items:center !important;
  min-height:22px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:rgba(123,0,29,.08) !important;
  color:#7b001d !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

.project-nav--v2 .project-nav-item{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-height:54px !important;
  box-sizing:border-box !important;
  padding:10px 14px !important;
  border-radius:18px !important;
  border:1px solid rgba(30,30,34,.055) !important;
  background:#fff !important;
  color:#141417 !important;
  text-decoration:none !important;
  box-shadow:0 10px 28px rgba(20,20,23,.035) !important;
  transition:background .16s ease, border-color .16s ease, transform .16s ease !important;
}

.project-nav--v2 .project-nav-item:hover{
  background:#fbf8f8 !important;
  border-color:rgba(123,0,29,.12) !important;
  transform:translateY(-1px) !important;
}

.project-nav--v2 .project-nav-item.is-active{
  background:#fff7f8 !important;
  border-color:rgba(123,0,29,.14) !important;
}

.project-nav--v2 .project-nav-icon{
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f5f1f2 !important;
  color:#17171a !important;
}

.project-nav--v2 .project-nav-item.is-active .project-nav-icon{
  background:#7b001d !important;
  color:#fff !important;
}

.project-nav--v2 .project-nav-icon svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
}

.project-nav--v2 .project-nav-label{
  flex:1 1 auto !important;
  min-width:0 !important;
  color:inherit !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  white-space:normal !important;
}

.project-nav--v2 .project-nav-arrow{
  flex:0 0 auto !important;
  color:#aaa2a6 !important;
  font-size:20px !important;
  line-height:1 !important;
}

.project-nav--v2 .project-nav-item.is-active .project-nav-arrow{
  color:#7b001d !important;
}

/* Collapsed project sidebar safety */
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-role-strip{
  display:none !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item{
  justify-content:center !important;
  padding:10px !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-icon{
  margin:0 !important;
}

/* --------------------------------------------------------------------------
   Phase 6A.1 — cleaner project sidebar
   Expanded = compact SaaS menu
   Collapsed = icon-only rail, no clipped text
-------------------------------------------------------------------------- */

.project-workspace-sidebar{
  transition:
    width .18s ease,
    min-width .18s ease,
    max-width .18s ease;
}

/* Expanded sidebar width */
.project-workspace-grid{
  grid-template-columns:220px minmax(0, 1fr) !important;
}

/* The nav itself */
.project-nav--v2{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  width:100% !important;
}

/* Role chips */
.project-nav--v2 .project-nav-role-strip{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  padding:0 2px 8px !important;
}

.project-nav--v2 .project-nav-role-chip{
  display:inline-flex !important;
  align-items:center !important;
  min-height:20px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:rgba(123,0,29,.08) !important;
  color:#7b001d !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

/* Menu item — lighter than the current card style */
.project-nav--v2 .project-nav-item{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  width:100% !important;
  min-height:46px !important;
  box-sizing:border-box !important;
  padding:8px 11px !important;
  border-radius:15px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#18181b !important;
  text-decoration:none !important;
  box-shadow:none !important;
  overflow:hidden !important;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease !important;
}

.project-nav--v2 .project-nav-item:hover{
  background:rgba(255,255,255,.72) !important;
  border-color:rgba(30,30,34,.055) !important;
  transform:translateX(1px) !important;
}

.project-nav--v2 .project-nav-item.is-active{
  background:#fff7f8 !important;
  border-color:rgba(123,0,29,.14) !important;
  color:#7b001d !important;
  box-shadow:0 10px 24px rgba(123,0,29,.045) !important;
}

/* Icon box */
.project-nav--v2 .project-nav-icon{
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;
  border-radius:11px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.78) !important;
  color:#242428 !important;
  border:1px solid rgba(30,30,34,.045) !important;
}

.project-nav--v2 .project-nav-item.is-active .project-nav-icon{
  background:#7b001d !important;
  color:#fff !important;
  border-color:#7b001d !important;
}

.project-nav--v2 .project-nav-icon svg{
  width:17px !important;
  height:17px !important;
  display:block !important;
}

/* Label */
.project-nav--v2 .project-nav-label{
  flex:1 1 auto !important;
  min-width:0 !important;
  color:inherit !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.project-nav--v2 .project-nav-arrow{
  flex:0 0 auto !important;
  color:#b3abb0 !important;
  font-size:18px !important;
  line-height:1 !important;
}

.project-nav--v2 .project-nav-item.is-active .project-nav-arrow{
  color:#7b001d !important;
}

/* --------------------------------------------------------------------------
   Collapsed sidebar
   Supports multiple possible classes because old JS may toggle different nodes.
-------------------------------------------------------------------------- */

.project-workspace-sidebar.is-collapsed,
.project-workspace-sidebar.sidebar-collapsed,
.project-workspace-grid.is-sidebar-collapsed .project-workspace-sidebar,
.project-workspace-grid.sidebar-collapsed .project-workspace-sidebar{
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
}

.project-workspace-grid.is-sidebar-collapsed,
.project-workspace-grid.sidebar-collapsed{
  grid-template-columns:72px minmax(0, 1fr) !important;
}

/* Hide text completely in collapsed state */
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-role-strip{
  display:none !important;
}

/* Collapsed item becomes icon-only */
.project-workspace-sidebar.is-collapsed .project-nav--v2,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2,
.project-workspace-grid.sidebar-collapsed .project-nav--v2{
  align-items:center !important;
  gap:10px !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-item{
  width:48px !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 !important;
  justify-content:center !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.72) !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item.is-active,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-item.is-active,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-item.is-active,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-item.is-active{
  background:#fff7f8 !important;
  border-color:rgba(123,0,29,.16) !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-icon,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-icon,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-icon,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-icon{
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;
  margin:0 !important;
}

/* Keep toggle button polished */
.project-sidebar-toggle{
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
  border:1px solid rgba(30,30,34,.08) !important;
  background:#fff !important;
  color:#252529 !important;
  box-shadow:0 12px 28px rgba(20,20,23,.05) !important;
}

.project-sidebar-toggle:hover{
  border-color:rgba(123,0,29,.16) !important;
  color:#7b001d !important;
}

/* Mobile/tablet: keep sidebar usable */
@media (max-width: 980px){
  .project-workspace-grid{
    grid-template-columns:76px minmax(0, 1fr) !important;
  }

  .project-workspace-sidebar{
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
  }

  .project-nav--v2{
    align-items:center !important;
  }

  .project-nav--v2 .project-nav-label,
  .project-nav--v2 .project-nav-arrow,
  .project-nav--v2 .project-nav-role-strip{
    display:none !important;
  }

  .project-nav--v2 .project-nav-item{
    width:50px !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 !important;
    justify-content:center !important;
    background:rgba(255,255,255,.72) !important;
  }
}

/* --------------------------------------------------------------------------
   Phase 6A.2 — premium contextual project sidebar
   Inspired by compact SaaS side rails: soft panel + clean collapsed icon rail
-------------------------------------------------------------------------- */

/* Main project layout */
.project-workspace-grid{
  grid-template-columns:238px minmax(0, 1fr) !important;
  gap:22px !important;
  align-items:start !important;
}

/* Sidebar container */
.project-workspace-sidebar{
  width:238px !important;
  min-width:238px !important;
  max-width:238px !important;
  position:sticky !important;
  top:92px !important;
  align-self:start !important;
  transition:
    width .18s ease,
    min-width .18s ease,
    max-width .18s ease,
    opacity .18s ease !important;
}

/* Toggle positioning */
.project-sidebar-rail-head{
  display:flex !important;
  justify-content:flex-end !important;
  margin:0 0 10px !important;
}

.project-sidebar-toggle{
  width:42px !important;
  height:42px !important;
  border-radius:15px !important;
  border:1px solid rgba(30,30,34,.08) !important;
  background:rgba(255,255,255,.92) !important;
  color:#242428 !important;
  box-shadow:0 14px 30px rgba(20,20,23,.06) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  line-height:1 !important;
}

.project-sidebar-toggle:hover{
  color:#7b001d !important;
  border-color:rgba(123,0,29,.18) !important;
}

/* Soft panel around the project nav */
.project-nav--v2{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding:12px !important;
  border-radius:28px !important;
  border:1px solid rgba(30,30,34,.055) !important;
  background:rgba(255,255,255,.58) !important;
  box-shadow:
    0 22px 50px rgba(20,20,23,.045),
    inset 0 1px 0 rgba(255,255,255,.75) !important;
  backdrop-filter:blur(12px) !important;
}

/* Role chip strip */
.project-nav--v2 .project-nav-role-strip{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  padding:0 4px 8px !important;
}

.project-nav--v2 .project-nav-role-chip{
  display:inline-flex !important;
  align-items:center !important;
  min-height:20px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:rgba(123,0,29,.08) !important;
  color:#7b001d !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

/* Menu rows */
.project-nav--v2 .project-nav-item{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-height:44px !important;
  box-sizing:border-box !important;
  padding:8px 10px !important;
  border-radius:16px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#242428 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  overflow:hidden !important;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease,
    box-shadow .16s ease !important;
}

.project-nav--v2 .project-nav-item:hover{
  background:rgba(255,255,255,.78) !important;
  border-color:rgba(30,30,34,.055) !important;
  transform:translateX(2px) !important;
}

/* Active item — more like the dark active pill from your inspo, but brand-safe */
.project-nav--v2 .project-nav-item.is-active{
  background:#7b001d !important;
  border-color:#7b001d !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(123,0,29,.16) !important;
}

/* Icon */
.project-nav--v2 .project-nav-icon{
  flex:0 0 31px !important;
  width:31px !important;
  height:31px !important;
  border-radius:11px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.72) !important;
  color:#242428 !important;
  border:1px solid rgba(30,30,34,.055) !important;
}

.project-nav--v2 .project-nav-item.is-active .project-nav-icon{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
}

.project-nav--v2 .project-nav-icon svg{
  width:16px !important;
  height:16px !important;
  display:block !important;
}

/* Label */
.project-nav--v2 .project-nav-label{
  flex:1 1 auto !important;
  min-width:0 !important;
  color:inherit !important;
  font-size:13.5px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.project-nav--v2 .project-nav-arrow{
  flex:0 0 auto !important;
  color:rgba(36,36,40,.34) !important;
  font-size:18px !important;
  line-height:1 !important;
}

.project-nav--v2 .project-nav-item.is-active .project-nav-arrow{
  color:rgba(255,255,255,.68) !important;
}

/* --------------------------------------------------------------------------
   Collapsed project sidebar: intentional mini rail
-------------------------------------------------------------------------- */

.project-workspace-sidebar.is-collapsed,
.project-workspace-sidebar.sidebar-collapsed,
.project-workspace-grid.is-sidebar-collapsed .project-workspace-sidebar,
.project-workspace-grid.sidebar-collapsed .project-workspace-sidebar{
  width:74px !important;
  min-width:74px !important;
  max-width:74px !important;
}

.project-workspace-grid.is-sidebar-collapsed,
.project-workspace-grid.sidebar-collapsed{
  grid-template-columns:74px minmax(0, 1fr) !important;
}

/* Collapsed toggle centered */
.project-workspace-sidebar.is-collapsed .project-sidebar-rail-head,
.project-workspace-sidebar.sidebar-collapsed .project-sidebar-rail-head,
.project-workspace-grid.is-sidebar-collapsed .project-sidebar-rail-head,
.project-workspace-grid.sidebar-collapsed .project-sidebar-rail-head{
  justify-content:center !important;
}

/* Collapsed panel becomes a narrow icon dock */
.project-workspace-sidebar.is-collapsed .project-nav--v2,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2,
.project-workspace-grid.sidebar-collapsed .project-nav--v2{
  width:58px !important;
  padding:8px 6px !important;
  border-radius:26px !important;
  align-items:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.56) !important;
}

/* Hide label, arrow, and role chips fully */
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-role-strip{
  display:none !important;
}

/* Collapsed item is a consistent icon button */
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-item{
  width:44px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  justify-content:center !important;
  border-radius:16px !important;
  background:transparent !important;
  border-color:transparent !important;
  transform:none !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item:hover,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-item:hover,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-item:hover,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-item:hover{
  background:rgba(255,255,255,.86) !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item.is-active,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-item.is-active,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-item.is-active,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-item.is-active{
  background:#7b001d !important;
  border-color:#7b001d !important;
  box-shadow:0 12px 24px rgba(123,0,29,.15) !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-icon,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-icon,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-icon,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-icon{
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;
  margin:0 !important;
}

/* Responsive safety */
@media (max-width: 1080px){
  .project-workspace-grid{
    grid-template-columns:74px minmax(0, 1fr) !important;
  }

  .project-workspace-sidebar{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
  }

  .project-sidebar-rail-head{
    justify-content:center !important;
  }

  .project-nav--v2{
    width:58px !important;
    padding:8px 6px !important;
    border-radius:26px !important;
    align-items:center !important;
    gap:8px !important;
  }

  .project-nav--v2 .project-nav-label,
  .project-nav--v2 .project-nav-arrow,
  .project-nav--v2 .project-nav-role-strip{
    display:none !important;
  }

  .project-nav--v2 .project-nav-item{
    width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    justify-content:center !important;
  }
}

/* --------------------------------------------------------------------------
   Sticky global + project sidebars
   Keeps both navigation layers available while scrolling long dashboards/pages.
-------------------------------------------------------------------------- */

/* 1) Global app sidebar / maroon rail */
.sidebar.sidebar-v4,
.sidebar-v4[data-sidebar],
[data-sidebar].sidebar-v4{
  position:sticky !important;
  top:24px !important;
  align-self:flex-start !important;
  height:calc(100vh - 48px) !important;
  max-height:calc(100vh - 48px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  z-index:60 !important;
}

/* Keep global sidebar scroll clean */
.sidebar.sidebar-v4::-webkit-scrollbar,
.sidebar-v4[data-sidebar]::-webkit-scrollbar,
[data-sidebar].sidebar-v4::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* 2) Project contextual sidebar */
.project-workspace-sidebar,
#projectWorkspaceSidebar{
  position:sticky !important;
  top:var(--project-sidebar-top, 112px) !important;
  align-self:flex-start !important;
  max-height:calc(100vh - var(--project-sidebar-top, 112px) - 24px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  z-index:30 !important;
}

/* Keep project sidebar scroll clean */
.project-workspace-sidebar::-webkit-scrollbar,
#projectWorkspaceSidebar::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* Make sure the project grid does not stretch the sidebar vertically */
.project-workspace-grid,
#projectWorkspaceGrid{
  align-items:start !important;
}

/* Avoid sticky being broken by parent overflow on project pages */
.app-shell,
.app-main,
.surface,
.project-workspace-surface,
.project-surface{
  overflow:visible !important;
}

/* Keep the project sidebar toggle visible at the top of the sticky sidebar */
.project-sidebar-rail-head{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  padding-bottom:10px !important;
  background:linear-gradient(
    to bottom,
    rgba(247,244,240,.92),
    rgba(247,244,240,.58),
    rgba(247,244,240,0)
  ) !important;
  backdrop-filter:blur(8px) !important;
}

/* Department dashboards sometimes use a simpler project shell/sidebar layout */
.project-shell > .project-nav,
.project-shell > .project-nav--v2{
  position:sticky !important;
  top:112px !important;
  align-self:flex-start !important;
  max-height:calc(100vh - 136px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  z-index:25 !important;
}

.project-shell > .project-nav::-webkit-scrollbar,
.project-shell > .project-nav--v2::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* Mobile/tablet safety: sticky sidebars can eat too much screen width */
@media (max-width: 860px){
  .sidebar.sidebar-v4,
  .sidebar-v4[data-sidebar],
  [data-sidebar].sidebar-v4{
    position:fixed !important;
    top:14px !important;
    left:14px !important;
    height:calc(100vh - 28px) !important;
    max-height:calc(100vh - 28px) !important;
    z-index:90 !important;
  }

  .project-workspace-sidebar,
  #projectWorkspaceSidebar,
  .project-shell > .project-nav,
  .project-shell > .project-nav--v2{
    position:sticky !important;
    top:82px !important;
    max-height:calc(100vh - 100px) !important;
  }
}

/* --------------------------------------------------------------------------
   Phase 6A.3 — fixed global + project sidebars
   Reliable version: both rails stay visible during long page scroll.
-------------------------------------------------------------------------- */

:root{
  --vr-global-left: 28px;
  --vr-global-top: 26px;
  --vr-global-width: 74px;
  --vr-global-gap: 24px;

  --vr-project-width: 238px;
  --vr-project-collapsed-width: 74px;
  --vr-project-top: 138px;

  --vr-content-left-space: calc(
    var(--vr-global-left) +
    var(--vr-global-width) +
    var(--vr-global-gap)
  );
}

/* 1) Global maroon sidebar: fixed to viewport */
.sidebar.sidebar-v4,
.sidebar-v4[data-sidebar],
[data-sidebar].sidebar-v4{
  position:fixed !important;
  left:var(--vr-global-left) !important;
  top:var(--vr-global-top) !important;
  width:var(--vr-global-width) !important;
  min-width:var(--vr-global-width) !important;
  max-width:var(--vr-global-width) !important;
  height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  max-height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  z-index:1000 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Hide scrollbar on side rails */
.sidebar.sidebar-v4::-webkit-scrollbar,
.sidebar-v4[data-sidebar]::-webkit-scrollbar,
[data-sidebar].sidebar-v4::-webkit-scrollbar,
.project-workspace-sidebar::-webkit-scrollbar,
#projectWorkspaceSidebar::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* 2) Main app content must reserve space for the fixed maroon rail */
.app-main{
  margin-left:var(--vr-content-left-space) !important;
  width:calc(100% - var(--vr-content-left-space)) !important;
  min-width:0 !important;
}

/* 3) Project grid still reserves a column for project sidebar */
.project-workspace-grid,
#projectWorkspaceGrid{
  display:grid !important;
  grid-template-columns:var(--vr-project-width) minmax(0, 1fr) !important;
  gap:22px !important;
  align-items:start !important;
}

/* 4) Project sidebar: fixed to viewport */
.project-workspace-sidebar,
#projectWorkspaceSidebar{
  position:fixed !important;
  left:calc(var(--vr-content-left-space) + 24px) !important;
  top:var(--vr-project-top) !important;
  width:var(--vr-project-width) !important;
  min-width:var(--vr-project-width) !important;
  max-width:var(--vr-project-width) !important;
  max-height:calc(100vh - var(--vr-project-top) - 24px) !important;
  z-index:850 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* 5) When project sidebar is collapsed, reserve less project column width */
.project-workspace-grid.is-sidebar-collapsed,
.project-workspace-grid.sidebar-collapsed,
#projectWorkspaceGrid.is-sidebar-collapsed,
#projectWorkspaceGrid.sidebar-collapsed{
  grid-template-columns:var(--vr-project-collapsed-width) minmax(0, 1fr) !important;
}

.project-workspace-sidebar.is-collapsed,
.project-workspace-sidebar.sidebar-collapsed,
.project-workspace-grid.is-sidebar-collapsed .project-workspace-sidebar,
.project-workspace-grid.sidebar-collapsed .project-workspace-sidebar,
#projectWorkspaceSidebar.is-collapsed{
  width:var(--vr-project-collapsed-width) !important;
  min-width:var(--vr-project-collapsed-width) !important;
  max-width:var(--vr-project-collapsed-width) !important;
}

/* 6) Topbar should stay above content but below sidebars */
.topbar,
.dash-topbar,
.travel-topbar{
  position:sticky !important;
  top:0 !important;
  z-index:700 !important;
}

/* 7) Mobile safety */
@media (max-width: 1080px){
  :root{
    --vr-global-left: 18px;
    --vr-global-top: 18px;
    --vr-global-width: 66px;
    --vr-global-gap: 18px;
    --vr-project-width: 74px;
    --vr-project-top: 116px;
  }

  .project-workspace-grid,
  #projectWorkspaceGrid{
    grid-template-columns:74px minmax(0, 1fr) !important;
  }

  .project-workspace-sidebar,
  #projectWorkspaceSidebar{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
  }
}

/* --------------------------------------------------------------------------
   Phase 6A.4 — sidebar layout repair
   Global sidebar stays fixed.
   Project sidebar returns to sticky-in-grid so content/header do not get covered.
-------------------------------------------------------------------------- */

:root{
  --vr-global-left: 28px;
  --vr-global-top: 26px;
  --vr-global-collapsed-width: 74px;
  --vr-global-expanded-width: 210px;
  --vr-global-gap: 24px;

  --vr-project-expanded-width: 238px;
  --vr-project-collapsed-width: 74px;
  --vr-project-gap: 22px;

  --vr-app-left-collapsed: calc(
    var(--vr-global-left) +
    var(--vr-global-collapsed-width) +
    var(--vr-global-gap)
  );

  --vr-app-left-expanded: calc(
    var(--vr-global-left) +
    var(--vr-global-expanded-width) +
    var(--vr-global-gap)
  );
}

/* --------------------------------------------------------------------------
   1) Global maroon sidebar — fixed, but allowed to expand properly
-------------------------------------------------------------------------- */

.sidebar.sidebar-v4,
.sidebar-v4[data-sidebar],
[data-sidebar].sidebar-v4{
  position:fixed !important;
  left:var(--vr-global-left) !important;
  top:var(--vr-global-top) !important;
  height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  max-height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  z-index:1000 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Do not hard-force the global sidebar to 74px when it is expanded */
.sidebar.sidebar-v4.is-collapsed,
.sidebar-v4[data-sidebar].is-collapsed,
[data-sidebar].sidebar-v4.is-collapsed,
.sidebar.sidebar-v4.sidebar-collapsed,
.sidebar-v4[data-sidebar].sidebar-collapsed,
[data-sidebar].sidebar-v4.sidebar-collapsed{
  width:var(--vr-global-collapsed-width) !important;
  min-width:var(--vr-global-collapsed-width) !important;
  max-width:var(--vr-global-collapsed-width) !important;
}

.sidebar.sidebar-v4.is-expanded,
.sidebar-v4[data-sidebar].is-expanded,
[data-sidebar].sidebar-v4.is-expanded,
.sidebar.sidebar-v4.sidebar-expanded,
.sidebar-v4[data-sidebar].sidebar-expanded,
[data-sidebar].sidebar-v4.sidebar-expanded,
.app-shell.sidebar-expanded .sidebar.sidebar-v4{
  width:var(--vr-global-expanded-width) !important;
  min-width:var(--vr-global-expanded-width) !important;
  max-width:var(--vr-global-expanded-width) !important;
}

/* Default app content position assumes compact global sidebar */
.app-main{
  margin-left:var(--vr-app-left-collapsed) !important;
  width:calc(100% - var(--vr-app-left-collapsed)) !important;
  min-width:0 !important;
}

/* If the global sidebar is expanded, move main content over */
.app-shell:has(.sidebar-v4.is-expanded) .app-main,
.app-shell:has(.sidebar-v4.sidebar-expanded) .app-main,
.app-shell.sidebar-expanded .app-main{
  margin-left:var(--vr-app-left-expanded) !important;
  width:calc(100% - var(--vr-app-left-expanded)) !important;
}

/* Clean sidebar scrollbars */
.sidebar.sidebar-v4::-webkit-scrollbar,
.sidebar-v4[data-sidebar]::-webkit-scrollbar,
[data-sidebar].sidebar-v4::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* --------------------------------------------------------------------------
   2) Project sidebar — sticky inside grid, not fixed overlay
-------------------------------------------------------------------------- */

.project-workspace-grid,
#projectWorkspaceGrid{
  display:grid !important;
  grid-template-columns:var(--vr-project-expanded-width) minmax(0, 1fr) !important;
  gap:var(--vr-project-gap) !important;
  align-items:start !important;
}

/* Critical: undo previous fixed positioning */
.project-workspace-sidebar,
#projectWorkspaceSidebar{
  position:sticky !important;
  left:auto !important;
  top:96px !important;
  width:var(--vr-project-expanded-width) !important;
  min-width:var(--vr-project-expanded-width) !important;
  max-width:var(--vr-project-expanded-width) !important;
  height:auto !important;
  max-height:calc(100vh - 118px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  z-index:40 !important;
  align-self:start !important;
}

/* Clean project sidebar scrollbar */
.project-workspace-sidebar::-webkit-scrollbar,
#projectWorkspaceSidebar::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* Collapsed project grid still reserves correct compact space */
.project-workspace-grid.is-sidebar-collapsed,
.project-workspace-grid.sidebar-collapsed,
#projectWorkspaceGrid.is-sidebar-collapsed,
#projectWorkspaceGrid.sidebar-collapsed{
  grid-template-columns:var(--vr-project-collapsed-width) minmax(0, 1fr) !important;
}

.project-workspace-sidebar.is-collapsed,
.project-workspace-sidebar.sidebar-collapsed,
#projectWorkspaceSidebar.is-collapsed,
#projectWorkspaceSidebar.sidebar-collapsed,
.project-workspace-grid.is-sidebar-collapsed .project-workspace-sidebar,
.project-workspace-grid.sidebar-collapsed .project-workspace-sidebar{
  width:var(--vr-project-collapsed-width) !important;
  min-width:var(--vr-project-collapsed-width) !important;
  max-width:var(--vr-project-collapsed-width) !important;
}

/* Project sidebar toggle remains visible */
.project-sidebar-rail-head{
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  display:flex !important;
  justify-content:flex-end !important;
  padding-bottom:10px !important;
  background:linear-gradient(
    to bottom,
    rgba(247,244,240,.95),
    rgba(247,244,240,.68),
    rgba(247,244,240,0)
  ) !important;
  backdrop-filter:blur(8px) !important;
}

.project-workspace-sidebar.is-collapsed .project-sidebar-rail-head,
.project-workspace-sidebar.sidebar-collapsed .project-sidebar-rail-head,
.project-workspace-grid.is-sidebar-collapsed .project-sidebar-rail-head,
.project-workspace-grid.sidebar-collapsed .project-sidebar-rail-head{
  justify-content:center !important;
}

/* --------------------------------------------------------------------------
   3) Collapsed project sidebar: no clipped labels
-------------------------------------------------------------------------- */

.project-workspace-sidebar.is-collapsed .project-nav--v2,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2,
.project-workspace-grid.sidebar-collapsed .project-nav--v2{
  width:58px !important;
  padding:8px 6px !important;
  border-radius:26px !important;
  align-items:center !important;
  gap:8px !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-role-strip{
  display:none !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-grid.is-sidebar-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-grid.sidebar-collapsed .project-nav--v2 .project-nav-item{
  width:44px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  justify-content:center !important;
}

/* --------------------------------------------------------------------------
   4) Parent overflow safety for sticky
-------------------------------------------------------------------------- */

.app-shell,
.app-main,
.surface,
.project-surface,
.project-workspace-surface{
  overflow:visible !important;
}

/* --------------------------------------------------------------------------
   5) Mobile safety
-------------------------------------------------------------------------- */

@media (max-width:1080px){
  :root{
    --vr-global-left:18px;
    --vr-global-top:18px;
    --vr-global-collapsed-width:66px;
    --vr-global-gap:18px;
    --vr-project-expanded-width:74px;
  }

  .project-workspace-grid,
  #projectWorkspaceGrid{
    grid-template-columns:74px minmax(0, 1fr) !important;
  }

  .project-workspace-sidebar,
  #projectWorkspaceSidebar{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
  }

  .project-nav--v2 .project-nav-label,
  .project-nav--v2 .project-nav-arrow,
  .project-nav--v2 .project-nav-role-strip{
    display:none !important;
  }

  .project-nav--v2 .project-nav-item{
    width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    justify-content:center !important;
  }
}

/* --------------------------------------------------------------------------
   Phase 6A.5 — final sidebar layout controller
   Fixes:
   - global sidebar clipped expansion
   - app content not moving when global sidebar expands
   - project sidebar not staying visible while scrolling
-------------------------------------------------------------------------- */

:root{
  --vr-global-left: 28px;
  --vr-global-top: 26px;
  --vr-global-compact-width: 74px;
  --vr-global-expanded-width: 218px;
  --vr-global-gap: 24px;

  --vr-project-expanded-width: 238px;
  --vr-project-collapsed-width: 74px;
  --vr-project-gap: 22px;
  --vr-project-sticky-top: 96px;

  --vr-app-left-compact: calc(
    var(--vr-global-left) +
    var(--vr-global-compact-width) +
    var(--vr-global-gap)
  );

  --vr-app-left-expanded: calc(
    var(--vr-global-left) +
    var(--vr-global-expanded-width) +
    var(--vr-global-gap)
  );
}

/* GLOBAL SIDEBAR --------------------------------------------------------- */

.sidebar.sidebar-v4,
.sidebar-v4[data-sidebar],
[data-sidebar].sidebar-v4{
  position:fixed !important;
  left:var(--vr-global-left) !important;
  top:var(--vr-global-top) !important;
  width:var(--vr-global-compact-width) !important;
  min-width:var(--vr-global-compact-width) !important;
  max-width:var(--vr-global-compact-width) !important;
  height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  max-height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  z-index:1000 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  transition:
    width .18s ease,
    min-width .18s ease,
    max-width .18s ease !important;
}

/* Compact state: hide text so it never clips */
.sidebar-v4__brand-copy,
.sidebar-v4__text,
.sidebar-v4__chev{
  display:none !important;
}

/* Expanded global sidebar */
body.vr-global-sidebar-expanded .sidebar.sidebar-v4,
body.vr-global-sidebar-expanded .sidebar-v4[data-sidebar],
body.vr-global-sidebar-expanded [data-sidebar].sidebar-v4{
  width:var(--vr-global-expanded-width) !important;
  min-width:var(--vr-global-expanded-width) !important;
  max-width:var(--vr-global-expanded-width) !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__brand-copy,
body.vr-global-sidebar-expanded .sidebar-v4__text,
body.vr-global-sidebar-expanded .sidebar-v4__chev{
  display:inline-flex !important;
}

/* App content reserves space for compact global sidebar */
.app-main{
  margin-left:var(--vr-app-left-compact) !important;
  width:calc(100% - var(--vr-app-left-compact)) !important;
  min-width:0 !important;
  transition:
    margin-left .18s ease,
    width .18s ease !important;
}

/* App content moves when global sidebar expands */
body.vr-global-sidebar-expanded .app-main{
  margin-left:var(--vr-app-left-expanded) !important;
  width:calc(100% - var(--vr-app-left-expanded)) !important;
}

/* Clean global scrollbar */
.sidebar.sidebar-v4::-webkit-scrollbar,
.sidebar-v4[data-sidebar]::-webkit-scrollbar,
[data-sidebar].sidebar-v4::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* PROJECT SIDEBAR LAYOUT ----------------------------------------------- */

.project-workspace-grid,
#projectWorkspaceGrid{
  display:grid !important;
  grid-template-columns:var(--vr-project-expanded-width) minmax(0, 1fr) !important;
  gap:var(--vr-project-gap) !important;
  align-items:start !important;
}

/* Reserve column correctly */
.project-workspace-sidebar,
#projectWorkspaceSidebar{
  grid-column:1 !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:var(--vr-project-expanded-width) !important;
  min-width:var(--vr-project-expanded-width) !important;
  max-width:var(--vr-project-expanded-width) !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  z-index:40 !important;
}

.proj-main{
  grid-column:2 !important;
  min-width:0 !important;
}

/* Collapsed project sidebar column */
.project-workspace-grid.is-sidebar-collapsed,
.project-workspace-grid.sidebar-collapsed,
#projectWorkspaceGrid.is-sidebar-collapsed,
#projectWorkspaceGrid.sidebar-collapsed{
  grid-template-columns:var(--vr-project-collapsed-width) minmax(0, 1fr) !important;
}

.project-workspace-sidebar.is-collapsed,
.project-workspace-sidebar.sidebar-collapsed,
#projectWorkspaceSidebar.is-collapsed,
#projectWorkspaceSidebar.sidebar-collapsed{
  width:var(--vr-project-collapsed-width) !important;
  min-width:var(--vr-project-collapsed-width) !important;
  max-width:var(--vr-project-collapsed-width) !important;
}

/* JS-sticky project sidebar */
.project-workspace-sidebar.is-js-stuck,
#projectWorkspaceSidebar.is-js-stuck{
  position:fixed !important;
  left:var(--vr-project-sidebar-left, 140px) !important;
  top:var(--vr-project-sticky-top) !important;
  width:var(--vr-project-sidebar-width, var(--vr-project-expanded-width)) !important;
  min-width:var(--vr-project-sidebar-width, var(--vr-project-expanded-width)) !important;
  max-width:var(--vr-project-sidebar-width, var(--vr-project-expanded-width)) !important;
  max-height:calc(100vh - var(--vr-project-sticky-top) - 24px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  z-index:850 !important;
}

.project-workspace-sidebar.is-js-stuck::-webkit-scrollbar,
#projectWorkspaceSidebar.is-js-stuck::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* Project nav collapsed cleanup */
.project-workspace-sidebar.is-collapsed .project-nav--v2,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2,
#projectWorkspaceSidebar.is-collapsed .project-nav--v2,
#projectWorkspaceSidebar.sidebar-collapsed .project-nav--v2{
  width:58px !important;
  padding:8px 6px !important;
  border-radius:26px !important;
  align-items:center !important;
  gap:8px !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-role-strip,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-role-strip,
#projectWorkspaceSidebar.is-collapsed .project-nav--v2 .project-nav-label,
#projectWorkspaceSidebar.is-collapsed .project-nav--v2 .project-nav-arrow,
#projectWorkspaceSidebar.is-collapsed .project-nav--v2 .project-nav-role-strip,
#projectWorkspaceSidebar.sidebar-collapsed .project-nav--v2 .project-nav-label,
#projectWorkspaceSidebar.sidebar-collapsed .project-nav--v2 .project-nav-arrow,
#projectWorkspaceSidebar.sidebar-collapsed .project-nav--v2 .project-nav-role-strip{
  display:none !important;
}

.project-workspace-sidebar.is-collapsed .project-nav--v2 .project-nav-item,
.project-workspace-sidebar.sidebar-collapsed .project-nav--v2 .project-nav-item,
#projectWorkspaceSidebar.is-collapsed .project-nav--v2 .project-nav-item,
#projectWorkspaceSidebar.sidebar-collapsed .project-nav--v2 .project-nav-item{
  width:44px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  justify-content:center !important;
}

/* Sticky safety */
.app-shell,
.app-main,
.surface,
.project-surface,
.project-workspace-surface{
  overflow:visible !important;
}

@media (max-width:1080px){
  :root{
    --vr-global-left:18px;
    --vr-global-top:18px;
    --vr-global-compact-width:66px;
    --vr-global-expanded-width:190px;
    --vr-global-gap:18px;
    --vr-project-expanded-width:74px;
    --vr-project-sticky-top:82px;
  }

  .project-workspace-grid,
  #projectWorkspaceGrid{
    grid-template-columns:74px minmax(0, 1fr) !important;
  }

  .project-workspace-sidebar,
  #projectWorkspaceSidebar{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
  }
}

/* --------------------------------------------------------------------------
   Phase 6A.6 — global sidebar expanded design polish
   Makes expanded sidebar match the premium full-panel reference.
-------------------------------------------------------------------------- */

:root{
  --vr-global-left: 30px;
  --vr-global-top: 28px;
  --vr-global-compact-width: 74px;
  --vr-global-expanded-width: 320px;
  --vr-global-gap: 28px;

  --vr-app-left-compact: calc(
    var(--vr-global-left) +
    var(--vr-global-compact-width) +
    var(--vr-global-gap)
  );

  --vr-app-left-expanded: calc(
    var(--vr-global-left) +
    var(--vr-global-expanded-width) +
    var(--vr-global-gap)
  );
}

/* Base fixed global sidebar */
.sidebar.sidebar-v4,
.sidebar-v4[data-sidebar],
[data-sidebar].sidebar-v4{
  position:fixed !important;
  left:var(--vr-global-left) !important;
  top:var(--vr-global-top) !important;
  width:var(--vr-global-compact-width) !important;
  min-width:var(--vr-global-compact-width) !important;
  max-width:var(--vr-global-compact-width) !important;
  height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  max-height:calc(100vh - (var(--vr-global-top) * 2)) !important;
  box-sizing:border-box !important;
  padding:18px 10px !important;
  border-radius:32px !important;
  background:#7b001d !important;
  color:#fff !important;
  z-index:1200 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  box-shadow:0 24px 60px rgba(60,0,18,.20) !important;
  transition:
    width .2s ease,
    min-width .2s ease,
    max-width .2s ease,
    padding .2s ease,
    border-radius .2s ease !important;
}

/* Expanded full panel */
body.vr-global-sidebar-expanded .sidebar.sidebar-v4,
body.vr-global-sidebar-expanded .sidebar-v4[data-sidebar],
body.vr-global-sidebar-expanded [data-sidebar].sidebar-v4{
  width:var(--vr-global-expanded-width) !important;
  min-width:var(--vr-global-expanded-width) !important;
  max-width:var(--vr-global-expanded-width) !important;
  padding:28px 28px 30px !important;
  border-radius:34px !important;
}

/* App content moves aside when global sidebar expands */
.app-main{
  margin-left:var(--vr-app-left-compact) !important;
  width:calc(100% - var(--vr-app-left-compact)) !important;
  min-width:0 !important;
  transition:margin-left .2s ease, width .2s ease !important;
}

body.vr-global-sidebar-expanded .app-main{
  margin-left:var(--vr-app-left-expanded) !important;
  width:calc(100% - var(--vr-app-left-expanded)) !important;
}

/* Hide scrollbar */
.sidebar.sidebar-v4::-webkit-scrollbar,
.sidebar-v4[data-sidebar]::-webkit-scrollbar,
[data-sidebar].sidebar-v4::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* Brand block */
.sidebar-v4__brand{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  margin:0 0 28px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__brand{
  justify-content:flex-start !important;
  margin-bottom:34px !important;
}

.sidebar-v4__brand-mark{
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:16px !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.sidebar-v4__brand-mark:hover{
  background:rgba(255,255,255,.14) !important;
}

.sidebar-v4__brand-link{
  min-width:0 !important;
  color:#fff !important;
  text-decoration:none !important;
}

/* Compact: hide brand copy */
.sidebar-v4__brand-copy{
  display:none !important;
}

/* Expanded: show company name/tag */
body.vr-global-sidebar-expanded .sidebar-v4__brand-copy{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
}

.sidebar-v4__brand-name{
  color:#fff !important;
  font-size:24px !important;
  line-height:1.02 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  white-space:nowrap !important;
}

.sidebar-v4__brand-sub{
  margin-top:8px !important;
  color:rgba(255,255,255,.68) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

/* Sidebar groups */
.sidebar-v4__group,
.sidebar-v4__footer{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  margin:0 !important;
}

.sidebar-v4__group + .sidebar-v4__group{
  margin-top:34px !important;
}

.sidebar-v4__footer{
  margin-top:34px !important;
  padding-top:0 !important;
}

/* In expanded mode, use spacing like the reference */
body.vr-global-sidebar-expanded .sidebar-v4__group{
  gap:12px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__group--support{
  margin-top:70px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__footer{
  margin-top:34px !important;
}

/* Section labels */
.sidebar-v4__label{
  display:none !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__label{
  display:block !important;
  margin:0 0 10px !important;
  padding:0 12px !important;
  color:rgba(255,255,255,.72) !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
}

/* Nav */
.sidebar-v4__nav{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

/* Link base */
.sidebar-v4__link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:52px !important;
  min-height:52px !important;
  box-sizing:border-box !important;
  padding:0 !important;
  border-radius:17px !important;
  color:rgba(255,255,255,.88) !important;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.045) !important;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease !important;
}

.sidebar-v4__link:hover{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.15) !important;
}

/* Expanded link row */
body.vr-global-sidebar-expanded .sidebar-v4__link{
  width:100% !important;
  height:66px !important;
  min-height:66px !important;
  justify-content:flex-start !important;
  gap:16px !important;
  padding:0 16px !important;
  border-radius:22px !important;
  background:transparent !important;
  border-color:transparent !important;
}

/* Active state */
.sidebar-v4__link.is-active{
  background:rgba(255,255,255,.13) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#fff !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__link.is-active{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

/* Icon */
.sidebar-v4__icon{
  flex:0 0 36px !important;
  width:36px !important;
  height:36px !important;
  border-radius:13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:inherit !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__icon{
  flex-basis:44px !important;
  width:44px !important;
  height:44px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__link.is-active .sidebar-v4__icon{
  background:rgba(255,255,255,.10) !important;
}

.sidebar-v4__icon svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
}

/* Text/chevrons */
.sidebar-v4__text,
.sidebar-v4__chev{
  display:none !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__text{
  display:inline-flex !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:-.02em !important;
  white-space:nowrap !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__chev{
  display:inline-flex !important;
  flex:0 0 auto !important;
  color:rgba(255,255,255,.52) !important;
  font-size:24px !important;
  line-height:1 !important;
}

/* Keep compact footer aligned */
.sidebar-v4__footer .sidebar-v4__link{
  margin-top:0 !important;
}

/* Prevent old CSS from leaking labels into compact state */
body:not(.vr-global-sidebar-expanded) .sidebar-v4__brand-copy,
body:not(.vr-global-sidebar-expanded) .sidebar-v4__text,
body:not(.vr-global-sidebar-expanded) .sidebar-v4__chev,
body:not(.vr-global-sidebar-expanded) .sidebar-v4__label{
  display:none !important;
}

/* Mobile safety */
@media (max-width:1080px){
  :root{
    --vr-global-left:18px;
    --vr-global-top:18px;
    --vr-global-compact-width:66px;
    --vr-global-expanded-width:280px;
    --vr-global-gap:18px;
  }

  body.vr-global-sidebar-expanded .sidebar-v4__text{
    font-size:16px !important;
  }

  body.vr-global-sidebar-expanded .sidebar-v4__brand-name{
    font-size:22px !important;
  }
}

/* --------------------------------------------------------------------------
   Phase 6A.7 — compact expanded global sidebar
   Keeps the full expanded sidebar visible without internal scrolling.
-------------------------------------------------------------------------- */

body.vr-global-sidebar-expanded .sidebar.sidebar-v4,
body.vr-global-sidebar-expanded .sidebar-v4[data-sidebar],
body.vr-global-sidebar-expanded [data-sidebar].sidebar-v4{
  width:290px !important;
  min-width:290px !important;
  max-width:290px !important;
  padding:22px 22px 22px !important;
  border-radius:32px !important;
}

/* Move page content according to the slightly smaller expanded sidebar */
:root{
  --vr-global-expanded-width:290px;
}

/* Brand area */
body.vr-global-sidebar-expanded .sidebar-v4__brand{
  margin-bottom:24px !important;
  gap:12px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__brand-mark{
  flex-basis:40px !important;
  width:40px !important;
  height:40px !important;
  border-radius:14px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__brand-name{
  font-size:20px !important;
  line-height:1.02 !important;
  letter-spacing:-.025em !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__brand-sub{
  margin-top:6px !important;
  font-size:9.5px !important;
  letter-spacing:.13em !important;
}

/* Group spacing */
body.vr-global-sidebar-expanded .sidebar-v4__group{
  gap:8px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__group + .sidebar-v4__group{
  margin-top:22px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__group--support{
  margin-top:34px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__footer{
  margin-top:22px !important;
}

/* Section labels */
body.vr-global-sidebar-expanded .sidebar-v4__label{
  margin:0 0 6px !important;
  padding:0 10px !important;
  font-size:12px !important;
  line-height:1 !important;
}

/* Nav rows */
body.vr-global-sidebar-expanded .sidebar-v4__nav{
  gap:7px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__link{
  height:50px !important;
  min-height:50px !important;
  padding:0 12px !important;
  gap:12px !important;
  border-radius:18px !important;
}

/* Icons */
body.vr-global-sidebar-expanded .sidebar-v4__icon{
  flex-basis:36px !important;
  width:36px !important;
  height:36px !important;
  border-radius:12px !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__icon svg{
  width:18px !important;
  height:18px !important;
}

/* Text */
body.vr-global-sidebar-expanded .sidebar-v4__text{
  font-size:15.5px !important;
  line-height:1.05 !important;
  font-weight:850 !important;
}

body.vr-global-sidebar-expanded .sidebar-v4__chev{
  font-size:19px !important;
}

/* Make scroll a last-resort fallback only */
body.vr-global-sidebar-expanded .sidebar.sidebar-v4,
body.vr-global-sidebar-expanded .sidebar-v4[data-sidebar],
body.vr-global-sidebar-expanded [data-sidebar].sidebar-v4{
  overflow-y:auto !important;
}

/* --------------------------------------------------------------------------
   Phase 6A.8 — repair project sidebar when sticky + expanded
   Keeps sticky behavior, but prevents expanded sidebar from becoming icon-only.
-------------------------------------------------------------------------- */

/* Expanded sticky project sidebar should remain full width */
#projectWorkspaceSidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed),
.project-workspace-sidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed){
  width:238px !important;
  min-width:238px !important;
  max-width:238px !important;
}

/* Expanded sticky nav panel */
#projectWorkspaceSidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2,
.project-workspace-sidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2{
  width:100% !important;
  min-width:0 !important;
  padding:12px !important;
  border-radius:28px !important;
  align-items:stretch !important;
  gap:4px !important;
}

/* Expanded sticky menu rows */
#projectWorkspaceSidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-item,
.project-workspace-sidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-item{
  width:100% !important;
  height:auto !important;
  min-height:44px !important;
  padding:8px 10px !important;
  justify-content:flex-start !important;
  gap:12px !important;
  border-radius:16px !important;
}

/* Expanded sticky icons should not take over the whole row */
#projectWorkspaceSidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-icon,
.project-workspace-sidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-icon{
  flex:0 0 31px !important;
  width:31px !important;
  height:31px !important;
  margin:0 !important;
}

/* Force labels/arrows back on only for expanded sticky state */
#projectWorkspaceSidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-label,
.project-workspace-sidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-label{
  display:inline-flex !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  font-size:13.5px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#projectWorkspaceSidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-arrow,
.project-workspace-sidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-arrow{
  display:inline-flex !important;
  flex:0 0 auto !important;
}

/* Keep role chips visible only when expanded */
#projectWorkspaceSidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-role-strip,
.project-workspace-sidebar.is-js-stuck:not(.is-collapsed):not(.sidebar-collapsed) .project-nav--v2 .project-nav-role-strip{
  display:flex !important;
}

/* Collapsed sticky state remains icon-only */
#projectWorkspaceSidebar.is-js-stuck.is-collapsed,
#projectWorkspaceSidebar.is-js-stuck.sidebar-collapsed,
.project-workspace-sidebar.is-js-stuck.is-collapsed,
.project-workspace-sidebar.is-js-stuck.sidebar-collapsed{
  width:74px !important;
  min-width:74px !important;
  max-width:74px !important;
}

/* Phase 3B — manual linked party member add form */
.linked-manual-add{
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  border:1px dashed rgba(123,0,29,.18);
  background:rgba(123,0,29,.025);
}

.linked-manual-add .form-grid{
  margin-top:0;
}

.linked-manual-checks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

/* --------------------------------------------------------------------------
   Guest create action cleanup
   One primary action area, hidden secondary options, no duplicate bottom saves.
-------------------------------------------------------------------------- */

.guest-create-actions--clean{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.guest-save-more{
  position:relative;
  display:inline-flex;
}

.guest-save-more > summary{
  list-style:none;
  cursor:pointer;
}

.guest-save-more > summary::-webkit-details-marker{
  display:none;
}

.guest-save-more-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:80;
  min-width:220px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(30,30,34,.08);
  background:#fff;
  box-shadow:0 18px 44px rgba(20,20,23,.12);
  display:flex;
  flex-direction:column;
  gap:7px;
}

.guest-save-more:not([open]) .guest-save-more-menu{
  display:none;
}

.guest-save-more-item{
  width:100%;
  justify-content:center;
  text-align:center;
}

.page-actions-bottom--quiet{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(30,30,34,.06);
}

@media (max-width: 760px){
  .guest-create-actions--clean{
    justify-content:stretch !important;
  }

  .guest-create-actions--clean .btn,
  .guest-save-more,
  .guest-save-more > summary{
    width:100%;
  }

  .guest-save-more-menu{
    position:static;
    margin-top:8px;
    width:100%;
    box-shadow:none;
  }

  .page-actions-bottom--quiet{
    justify-content:stretch;
  }

  .page-actions-bottom--quiet .btn{
    width:100%;
  }
}

/* --------------------------------------------------------------------------
   Phase 6B-UI — Guest registration editorial flow
   Numbered sections + sticky bottom action bar + party-member next-step cards
-------------------------------------------------------------------------- */

.guest-editor-page .guest-create-head{
  margin-bottom:26px !important;
  padding:32px 0 20px !important;
  border-bottom:1px solid rgba(30,30,34,.06) !important;
  background:transparent !important;
  box-shadow:none !important;
}

.guest-editor-page .guest-create-title{
  max-width:620px !important;
  font-size:42px !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  color:#2a0711 !important;
}

.guest-editor-page .guest-create-sub{
  max-width:540px !important;
  margin-top:16px !important;
  font-size:15px !important;
  line-height:1.65 !important;
  color:#786f73 !important;
}

/* Hide old top duplicate action cluster. Sticky bottom bar becomes the main action area. */
.guest-editor-page .guest-create-head .guest-create-actions{
  display:none !important;
}

/* Collapse the old two-column card dashboard feel into one registration flow */
.guest-flow-form{
  counter-reset: guestFlowStep;
  padding-bottom:110px !important;
}

.guest-flow-form .guest-editor-grid,
.guest-editor-page .guest-editor-grid{
  display:block !important;
}

.guest-editor-page .guest-editor-grid > div{
  display:contents !important;
}

/* Numbered editorial sections */
.guest-flow-form .form-card{
  counter-increment: guestFlowStep;
  display:grid !important;
  grid-template-columns:minmax(170px, 230px) minmax(0, 1fr) !important;
  column-gap:48px !important;
  align-items:start !important;
  padding:38px 0 !important;
  margin:0 !important;
  border:0 !important;
  border-top:1px solid rgba(30,30,34,.065) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.guest-flow-form .form-card::before{
  content:counter(guestFlowStep, decimal-leading-zero);
  grid-column:1;
  grid-row:1;
  display:block;
  margin-bottom:12px;
  color:rgba(123,0,29,.13);
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.06em;
}

.guest-flow-form .form-card-title{
  grid-column:1 !important;
  grid-row:2 !important;
  margin:0 !important;
  color:#151518 !important;
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

.guest-flow-form .form-card-sub{
  grid-column:1 !important;
  grid-row:3 !important;
  max-width:210px !important;
  margin:10px 0 0 !important;
  color:#8b8286 !important;
  font-size:13px !important;
  line-height:1.55 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.guest-flow-form .form-card > :not(.form-card-title):not(.form-card-sub){
  grid-column:2 !important;
}

.guest-flow-form .form-grid{
  width:100% !important;
  margin-top:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:22px 26px !important;
}

/* Inputs should feel calmer and more editorial */
.guest-flow-form .field label{
  color:#746b70 !important;
  font-size:10px !important;
  font-weight:850 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}

.guest-flow-form input,
.guest-flow-form select,
.guest-flow-form textarea{
  border-radius:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(30,30,34,.13) !important;
  background:rgba(255,255,255,.42) !important;
  box-shadow:none !important;
}

.guest-flow-form input:focus,
.guest-flow-form select:focus,
.guest-flow-form textarea:focus{
  border-bottom-color:#7b001d !important;
  outline:none !important;
  box-shadow:none !important;
}

/* New party-member next-step cards */
.guest-party-start{
  padding:18px !important;
  border:1px dashed rgba(123,0,29,.18) !important;
  background:rgba(123,0,29,.025) !important;
  border-radius:18px !important;
}

.guest-party-start__copy strong{
  display:block;
  color:#231f21;
  font-size:14px;
  font-weight:900;
}

.guest-party-start__copy p{
  margin:6px 0 0;
  color:#756d71;
  font-size:13px;
  line-height:1.5;
}

.guest-party-choice-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}

.guest-party-choice{
  min-height:118px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(30,30,34,.075);
  background:#fff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(20,20,23,.045);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.guest-party-choice:hover{
  transform:translateY(-2px);
  border-color:rgba(123,0,29,.18);
  box-shadow:0 18px 44px rgba(123,0,29,.08);
}

.guest-party-choice__kicker{
  display:block;
  color:#7b001d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.guest-party-choice strong{
  display:block;
  margin-top:8px;
  color:#161619;
  font-size:16px;
  line-height:1.15;
  font-weight:900;
}

.guest-party-choice small{
  display:block;
  margin-top:8px;
  color:#7c7478;
  font-size:12px;
  line-height:1.4;
}

/* Linked-member edit context */
.linked-edit-context{
  margin-bottom:18px !important;
  border:1px solid rgba(123,0,28,.12) !important;
  background:#fff8f9 !important;
}

.linked-edit-type-row{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(123,0,29,.08);
}

.linked-edit-type-row span{
  color:#7b001d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.linked-edit-type-row strong{
  color:#3a0713;
  font-size:12px;
  font-weight:900;
}

/* Sticky bottom bar, reference-style */
.guest-flow-bottom-bar{
  position:sticky;
  bottom:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:34px;
  padding:18px 22px;
  border-top:1px solid rgba(30,30,34,.08);
  background:rgba(249,247,244,.92);
  backdrop-filter:blur(16px);
  box-shadow:0 -18px 42px rgba(20,20,23,.06);
}

.guest-flow-bottom-status{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.guest-flow-status-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#b68a1b;
  box-shadow:0 0 0 4px rgba(182,138,27,.12);
}

.guest-flow-bottom-status strong{
  display:block;
  color:#1c1c20;
  font-size:12px;
  font-weight:900;
}

.guest-flow-bottom-status small{
  display:block;
  margin-top:3px;
  color:#81787c;
  font-size:11px;
  line-height:1.35;
}

.guest-flow-bottom-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.guest-flow-link{
  color:#3a3437;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.guest-flow-link:hover{
  color:#7b001d;
}

/* Hide old duplicated bottom action row if it still exists */
.guest-editor-page .page-actions-bottom:not(.page-actions-bottom--quiet){
  display:none !important;
}

@media (max-width: 980px){
  .guest-flow-form .form-card{
    grid-template-columns:1fr !important;
    row-gap:12px !important;
  }

  .guest-flow-form .form-card::before,
  .guest-flow-form .form-card-title,
  .guest-flow-form .form-card-sub,
  .guest-flow-form .form-card > :not(.form-card-title):not(.form-card-sub){
    grid-column:1 !important;
  }

  .guest-flow-form .form-grid,
  .guest-party-choice-grid{
    grid-template-columns:1fr !important;
  }

  .guest-flow-bottom-bar{
    align-items:stretch;
    flex-direction:column;
  }

  .guest-flow-bottom-actions,
  .guest-flow-bottom-actions .btn,
  .guest-flow-link{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}
/* --------------------------------------------------------------------------
   Phase 6B-UI repair — Guest registration numbered flow
   Fixes old two-column guest form fighting the new editorial layout.
-------------------------------------------------------------------------- */

/* The old guest-layout had left/right columns. For the new flow, make it one ordered stream. */
.guest-editor-page .guest-layout{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  width:100% !important;
}

.guest-editor-page .guest-col{
  display:contents !important;
}

/* Hide old summary card from the numbered flow. The sticky bottom bar now handles action context. */
.guest-editor-page .guest-step-card--summary{
  display:none !important;
}

/* Visual order */
.guest-step-card--identity{ order:1 !important; --guest-step-no:"01"; }
.guest-step-card--contact{ order:2 !important; --guest-step-no:"02"; }
.guest-step-card--events{ order:3 !important; --guest-step-no:"03"; }
.guest-step-card--transport{ order:4 !important; --guest-step-no:"04"; }
.guest-step-card--hospitality{ order:5 !important; --guest-step-no:"05"; }
.guest-step-card--party{ order:6 !important; --guest-step-no:"06"; }
.guest-step-card--followups{ order:7 !important; --guest-step-no:"07"; }
.guest-step-card--notes{ order:8 !important; --guest-step-no:"08"; }
.guest-step-card--food{ order:9 !important; --guest-step-no:"09"; }

/* Main numbered section structure */
.guest-editor-page .guest-step-card{
  display:grid !important;
  grid-template-columns:minmax(180px, 240px) minmax(0, 1fr) !important;
  column-gap:52px !important;
  row-gap:8px !important;
  align-items:start !important;

  width:100% !important;
  margin:0 !important;
  padding:42px 0 !important;

  border:0 !important;
  border-top:1px solid rgba(30,30,34,.07) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Number */
.guest-editor-page .guest-step-card::before{
  content:var(--guest-step-no, "00") !important;
  grid-column:1 !important;
  grid-row:1 !important;

  display:block !important;
  margin:0 0 10px !important;

  color:rgba(123,0,29,.13) !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
}

/* Left section title */
.guest-editor-page .guest-step-card > .form-card-title{
  grid-column:1 !important;
  grid-row:2 !important;

  margin:0 !important;
  max-width:220px !important;

  color:#151518 !important;
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

/* Left section helper copy */
.guest-editor-page .guest-step-card > .form-card-sub{
  grid-column:1 !important;
  grid-row:3 !important;

  max-width:220px !important;
  margin:10px 0 0 !important;

  color:#8a8186 !important;
  font-size:13px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* Everything else goes to the right side */
.guest-editor-page .guest-step-card > :not(.form-card-title):not(.form-card-sub){
  grid-column:2 !important;
}

/* Inputs grid */
.guest-editor-page .guest-step-card .form-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:22px 28px !important;
  margin-top:0 !important;
}

.guest-editor-page .guest-step-card .form-grid-3{
  grid-column:2 !important;
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:22px 18px !important;
  margin-top:22px !important;
}

/* Make inputs feel like the reference: flatter, quieter, less card-like */
.guest-editor-page .guest-step-card .field label,
.guest-editor-page .linked-edit-field label{
  display:block !important;
  margin-bottom:8px !important;

  color:#746b70 !important;
  font-size:10px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}

.guest-editor-page .guest-step-card input,
.guest-editor-page .guest-step-card select,
.guest-editor-page .guest-step-card textarea{
  width:100% !important;
  min-height:42px !important;

  border-radius:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(30,30,34,.16) !important;
  background:rgba(255,255,255,.38) !important;
  box-shadow:none !important;

  color:#1f1f23 !important;
  font-size:13px !important;
}

.guest-editor-page .guest-step-card textarea{
  min-height:86px !important;
  resize:vertical !important;
}

.guest-editor-page .guest-step-card input:focus,
.guest-editor-page .guest-step-card select:focus,
.guest-editor-page .guest-step-card textarea:focus{
  outline:none !important;
  border-bottom-color:#7b001d !important;
  box-shadow:none !important;
}

/* Invited event pills should become flat selection blocks */
.guest-editor-page .invite-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:12px !important;
}

.guest-editor-page .invite-pill{
  min-height:70px !important;
  padding:14px !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.42) !important;
  border:1px solid rgba(30,30,34,.06) !important;
  box-shadow:none !important;
}

.guest-editor-page .invite-pill-title{
  font-size:12px !important;
  font-weight:900 !important;
  color:#231f21 !important;
}

.guest-editor-page .invite-pill-meta{
  margin-top:4px !important;
  font-size:10px !important;
  color:#8a8186 !important;
}

/* Party member CTA cards */
.guest-editor-page .guest-party-choice-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:12px !important;
}

.guest-editor-page .guest-party-choice{
  min-height:116px !important;
  border-radius:0 !important;
  background:#fff !important;
  border:1px dashed rgba(30,30,34,.12) !important;
  box-shadow:none !important;
}

.guest-editor-page .guest-party-choice:hover{
  transform:none !important;
  border-color:rgba(123,0,29,.28) !important;
  background:rgba(123,0,29,.025) !important;
}

/* Manual linked member form */
.guest-editor-page .linked-manual-add{
  border-radius:0 !important;
  border:1px dashed rgba(123,0,29,.18) !important;
  background:rgba(123,0,29,.025) !important;
  box-shadow:none !important;
}

/* Stop old accordion styles from leaking if browser cached the JS state */
.guest-editor-page .form-card-toggle{
  display:none !important;
}

.guest-editor-page .form-card-body{
  display:block !important;
}

.guest-editor-page .form-card-body[hidden]{
  display:block !important;
}

/* Keep the sticky bottom bar clean */
.guest-editor-page .guest-flow-bottom-bar{
  position:sticky !important;
  bottom:0 !important;
  z-index:150 !important;

  margin-top:46px !important;
  padding:18px 22px !important;

  border-top:1px solid rgba(30,30,34,.08) !important;
  background:rgba(249,247,244,.94) !important;
  backdrop-filter:blur(16px) !important;
  box-shadow:0 -18px 42px rgba(20,20,23,.06) !important;
}

/* Mobile/tablet */
@media (max-width: 980px){
  .guest-editor-page .guest-step-card{
    grid-template-columns:1fr !important;
    row-gap:12px !important;
    padding:32px 0 !important;
  }

  .guest-editor-page .guest-step-card::before,
  .guest-editor-page .guest-step-card > .form-card-title,
  .guest-editor-page .guest-step-card > .form-card-sub,
  .guest-editor-page .guest-step-card > :not(.form-card-title):not(.form-card-sub){
    grid-column:1 !important;
  }

  .guest-editor-page .guest-step-card .form-grid,
  .guest-editor-page .guest-step-card .form-grid-3,
  .guest-editor-page .invite-grid,
  .guest-editor-page .guest-party-choice-grid{
    grid-template-columns:1fr !important;
  }

  .guest-editor-page .guest-flow-bottom-bar{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .guest-editor-page .guest-flow-bottom-actions{
    width:100% !important;
  }

  .guest-editor-page .guest-flow-bottom-actions .btn,
  .guest-editor-page .guest-flow-link{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

/* --------------------------------------------------------------------------
   Phase 6B-UI v2 — Guest create page clarity repair
   Makes the numbered guest registration flow sharper, clearer, and usable.
-------------------------------------------------------------------------- */

/* Page width + breathing room */
.guest-editor-page .proj-main{
  width:100% !important;
}

.guest-editor-page .guest-flow-form,
.guest-editor-page .guest-create-head{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* IMPORTANT:
   This must come AFTER the generic .guest-step-card display rule,
   otherwise Quick summary appears as step 00.
*/
.guest-editor-page .guest-step-card.guest-step-card--summary{
  display:none !important;
}

/* Make the page header feel intentional */
.guest-editor-page .guest-create-head{
  margin-bottom:12px !important;
  padding:28px 34px !important;
  border:1px solid rgba(24,24,27,.06) !important;
  border-radius:28px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,250,248,.78)) !important;
  box-shadow:0 18px 48px rgba(20,20,23,.045) !important;
}

.guest-editor-page .guest-create-title{
  max-width:680px !important;
  margin:0 !important;
  color:#151518 !important;
  font-size:34px !important;
  line-height:.98 !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
  text-transform:none !important;
}

.guest-editor-page .guest-create-sub{
  max-width:520px !important;
  margin-top:12px !important;
  color:#6f666b !important;
  font-size:13px !important;
  line-height:1.55 !important;
  font-weight:650 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}

/* Whole flow */
.guest-editor-page .guest-layout{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
}

.guest-editor-page .guest-col{
  display:contents !important;
}

/* Each numbered section */
.guest-editor-page .guest-step-card{
  position:relative !important;
  display:grid !important;
  grid-template-columns:230px minmax(0, 1fr) !important;
  column-gap:54px !important;
  align-items:start !important;

  margin:0 !important;
  padding:42px 0 !important;

  border:0 !important;
  border-top:1px solid rgba(30,30,34,.075) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Step number */
.guest-editor-page .guest-step-card::before{
  content:var(--guest-step-no, "00") !important;
  grid-column:1 !important;
  grid-row:1 !important;

  display:block !important;
  margin-bottom:14px !important;

  color:rgba(123,0,29,.14) !important;
  font-size:38px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.07em !important;
}

/* Left step title */
.guest-editor-page .guest-step-card > .form-card-title{
  grid-column:1 !important;
  grid-row:2 !important;

  margin:0 !important;
  max-width:210px !important;

  color:#141417 !important;
  font-size:18px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
  text-transform:none !important;
}

/* Left helper text */
.guest-editor-page .guest-step-card > .form-card-sub{
  grid-column:1 !important;
  grid-row:3 !important;

  max-width:205px !important;
  margin:12px 0 0 !important;

  color:#81777d !important;
  font-size:13px !important;
  line-height:1.55 !important;
  font-weight:520 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* Everything except title/subtitle goes to the form area */
.guest-editor-page .guest-step-card > :not(.form-card-title):not(.form-card-sub){
  grid-column:2 !important;
}

/* Main form panels on the right */
.guest-editor-page .guest-step-card > .form-grid,
.guest-editor-page .guest-step-card > .form-grid-3,
.guest-editor-page .guest-step-card > .invite-grid,
.guest-editor-page .guest-step-card > .guest-party-start,
.guest-editor-page .guest-step-card > .linked-manual-add,
.guest-editor-page .guest-step-card > .linked-party-grid,
.guest-editor-page .guest-step-card > .empty-events,
.guest-editor-page .guest-step-card > .info-note{
  width:100% !important;
  padding:24px !important;
  border:1px solid rgba(30,30,34,.075) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 18px 46px rgba(20,20,23,.035) !important;
}

/* Identity first grid + seat grid should feel connected */
.guest-editor-page .guest-step-card--identity > .form-grid{
  border-bottom-left-radius:14px !important;
  border-bottom-right-radius:14px !important;
}

.guest-editor-page .guest-step-card--identity > .form-grid-3{
  margin-top:14px !important;
  border-top-left-radius:14px !important;
  border-top-right-radius:14px !important;
}

/* Right side grid layout */
.guest-editor-page .guest-step-card .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:20px 24px !important;
}

.guest-editor-page .guest-step-card .form-grid-3{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:20px 18px !important;
}

/* Override inline one-column grids where useful */
.guest-editor-page .guest-step-card--contact .form-grid,
.guest-editor-page .guest-step-card--notes .form-grid,
.guest-editor-page .guest-step-card--food .form-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
}

.guest-editor-page .guest-step-card--contact textarea,
.guest-editor-page .guest-step-card--notes textarea{
  min-height:94px !important;
}

/* Clear label styling */
.guest-editor-page .guest-step-card .field label,
.guest-editor-page .guest-step-card .linked-edit-field label{
  display:block !important;
  margin:0 0 8px !important;

  color:#393236 !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

/* Field shell */
.guest-editor-page .guest-step-card input,
.guest-editor-page .guest-step-card select,
.guest-editor-page .guest-step-card textarea{
  width:100% !important;
  min-height:46px !important;
  padding:12px 14px !important;

  border:1px solid rgba(30,30,34,.13) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset !important;

  color:#17171a !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:560 !important;
}

.guest-editor-page .guest-step-card textarea{
  min-height:96px !important;
  resize:vertical !important;
}

.guest-editor-page .guest-step-card input::placeholder,
.guest-editor-page .guest-step-card textarea::placeholder{
  color:#aaa2a7 !important;
  font-weight:450 !important;
}

/* Focus state: obvious but not loud */
.guest-editor-page .guest-step-card input:focus,
.guest-editor-page .guest-step-card select:focus,
.guest-editor-page .guest-step-card textarea:focus{
  outline:none !important;
  border-color:rgba(123,0,29,.72) !important;
  box-shadow:
    0 0 0 4px rgba(123,0,29,.075),
    0 1px 0 rgba(255,255,255,.8) inset !important;
}

/* Disabled/read-only feel */
.guest-editor-page .guest-step-card input:disabled,
.guest-editor-page .guest-step-card select:disabled,
.guest-editor-page .guest-step-card textarea:disabled{
  opacity:.62 !important;
  cursor:not-allowed !important;
}

/* Separate arrival/departure blocks inside travel */
.guest-editor-page .guest-step-card .form-divider{
  grid-column:2 !important;
  height:1px !important;
  margin:18px 0 !important;
  background:linear-gradient(90deg, rgba(123,0,29,.14), rgba(30,30,34,.045)) !important;
}

/* Travel detection note */
.guest-editor-page .travel-detect-note{
  margin-top:8px !important;
  color:#7d7378 !important;
  font-size:11px !important;
  line-height:1.4 !important;
}

/* Event cards */
.guest-editor-page .invite-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
}

.guest-editor-page .invite-pill{
  position:relative !important;
  display:flex !important;
  gap:12px !important;
  align-items:flex-start !important;

  min-height:84px !important;
  padding:16px !important;

  border:1px solid rgba(30,30,34,.10) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.guest-editor-page .invite-pill input{
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin-top:2px !important;
  padding:0 !important;
  border-radius:5px !important;
}

.guest-editor-page .invite-pill:has(input:checked){
  border-color:rgba(123,0,29,.45) !important;
  background:rgba(123,0,29,.035) !important;
}

.guest-editor-page .invite-pill-title{
  color:#1c191b !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
}

.guest-editor-page .invite-pill-meta{
  margin-top:5px !important;
  color:#82787e !important;
  font-size:11px !important;
  line-height:1.45 !important;
}

/* Party member selection cards */
.guest-editor-page .guest-party-start{
  background:linear-gradient(135deg, rgba(123,0,29,.035), rgba(255,255,255,.92)) !important;
}

.guest-editor-page .guest-party-start__copy strong{
  color:#17171a !important;
  font-size:15px !important;
  font-weight:900 !important;
}

.guest-editor-page .guest-party-start__copy p{
  max-width:620px !important;
  margin-top:6px !important;
  color:#756b70 !important;
  font-size:12px !important;
  line-height:1.55 !important;
}

.guest-editor-page .guest-party-choice-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  margin-top:18px !important;
}

.guest-editor-page .guest-party-choice{
  min-height:116px !important;
  padding:18px !important;
  text-align:left !important;

  border:1px solid rgba(123,0,29,.14) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(20,20,23,.035) !important;
}

.guest-editor-page .guest-party-choice__kicker{
  color:#97002b !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.guest-editor-page .guest-party-choice strong{
  display:block !important;
  margin-top:8px !important;
  color:#17171a !important;
  font-size:15px !important;
  font-weight:900 !important;
}

.guest-editor-page .guest-party-choice small{
  display:block !important;
  margin-top:6px !important;
  color:#7a7075 !important;
  font-size:12px !important;
  line-height:1.4 !important;
}

.guest-editor-page .guest-party-choice:hover{
  border-color:rgba(123,0,29,.42) !important;
  transform:translateY(-1px) !important;
}

/* Error box refinement */
.guest-editor-page .proj-card[style*="fff7f7"]{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:20px !important;
}

/* Bottom save bar */
.guest-editor-page .guest-flow-bottom-bar{
  position:sticky !important;
  bottom:18px !important;
  z-index:180 !important;

  max-width:1180px !important;
  margin:46px auto 0 !important;
  padding:16px 18px !important;

  border:1px solid rgba(30,30,34,.075) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:0 24px 70px rgba(20,20,23,.12) !important;
}

.guest-editor-page .guest-flow-bottom-status strong{
  color:#17171a !important;
  font-size:13px !important;
  font-weight:900 !important;
}

.guest-editor-page .guest-flow-bottom-status small{
  color:#7a7075 !important;
  font-size:11px !important;
}

.guest-editor-page .guest-flow-status-dot{
  background:#97002b !important;
}

/* Buttons should look consistent */
.guest-editor-page .btn,
.guest-editor-page button.btn{
  min-height:42px !important;
  padding:11px 16px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:850 !important;
}

.guest-editor-page .btn-primary{
  background:#1f1f22 !important;
  border-color:#1f1f22 !important;
  color:#fff !important;
}

.guest-editor-page .guest-create-actions .btn-primary{
  background:#7b001d !important;
  border-color:#7b001d !important;
}

/* Prevent old accordion styles leaking */
.guest-editor-page .form-card-toggle{
  display:none !important;
}

.guest-editor-page .form-card-body{
  display:block !important;
}

.guest-editor-page .form-card-body[hidden]{
  display:block !important;
}

/* Tablet */
@media (max-width: 1100px){
  .guest-editor-page .guest-step-card{
    grid-template-columns:190px minmax(0, 1fr) !important;
    column-gap:34px !important;
  }

  .guest-editor-page .guest-step-card .form-grid,
  .guest-editor-page .guest-step-card .form-grid-3,
  .guest-editor-page .invite-grid,
  .guest-editor-page .guest-party-choice-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

/* Mobile */
@media (max-width: 820px){
  .guest-editor-page .guest-create-head{
    padding:22px !important;
  }

  .guest-editor-page .guest-create-title{
    font-size:28px !important;
  }

  .guest-editor-page .guest-step-card{
    grid-template-columns:1fr !important;
    padding:34px 0 !important;
  }

  .guest-editor-page .guest-step-card::before,
  .guest-editor-page .guest-step-card > .form-card-title,
  .guest-editor-page .guest-step-card > .form-card-sub,
  .guest-editor-page .guest-step-card > :not(.form-card-title):not(.form-card-sub){
    grid-column:1 !important;
  }

  .guest-editor-page .guest-step-card > .form-card-sub{
    max-width:100% !important;
    margin-bottom:16px !important;
  }

  .guest-editor-page .guest-step-card .form-grid,
  .guest-editor-page .guest-step-card .form-grid-3,
  .guest-editor-page .invite-grid,
  .guest-editor-page .guest-party-choice-grid,
  .guest-editor-page .guest-step-card--contact .form-grid,
  .guest-editor-page .guest-step-card--notes .form-grid,
  .guest-editor-page .guest-step-card--food .form-grid{
    grid-template-columns:1fr !important;
  }

  .guest-editor-page .guest-flow-bottom-bar{
    bottom:10px !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .guest-editor-page .guest-flow-bottom-actions{
    width:100% !important;
  }

  .guest-editor-page .guest-flow-bottom-actions .btn,
  .guest-editor-page .guest-flow-link{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

/* --------------------------------------------------------------------------
   Guest create functional UI patch
   1. Fixed bottom save bar
   2. Re-sticky project sidebar on long guest forms
-------------------------------------------------------------------------- */

/* Leave enough room so the fixed save bar does not cover the last fields */
.guest-editor-page .guest-flow-form{
  padding-bottom:132px !important;
}

/* Fixed bottom action bar: always visible while editing guest */
.guest-editor-page .guest-flow-bottom-bar{
  position:fixed !important;
  left:50% !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;

  width:min(1180px, calc(100vw - 220px)) !important;
  max-width:1180px !important;

  z-index:900 !important;
  margin:0 !important;
  padding:14px 16px !important;

  border:1px solid rgba(30,30,34,.08) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:0 24px 80px rgba(20,20,23,.16) !important;
}

/* Keep the fixed bar compact */
.guest-editor-page .guest-flow-bottom-status strong{
  font-size:12px !important;
}

.guest-editor-page .guest-flow-bottom-status small{
  font-size:10px !important;
}

.guest-editor-page .guest-flow-bottom-actions{
  gap:8px !important;
}

.guest-editor-page .guest-flow-bottom-actions .btn,
.guest-editor-page .guest-flow-link{
  min-height:36px !important;
  padding:9px 13px !important;
  font-size:11px !important;
}

/* Project shell should allow sticky children */
.guest-editor-page .project-shell{
  align-items:flex-start !important;
}

/* Re-stick project sidebar on guest create/edit page */
.guest-editor-page .project-sidebar-wrap{
  position:sticky !important;
  top:92px !important;
  align-self:flex-start !important;
  max-height:calc(100vh - 112px) !important;
  overflow-y:auto !important;
  z-index:120 !important;
}

/* Make sidebar scrolling invisible/clean */
.guest-editor-page .project-sidebar-wrap::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* When project sidebar is collapsed, keep it sticky too */
.guest-editor-page .project-shell.is-sidebar-collapsed .project-sidebar-wrap{
  position:sticky !important;
  top:92px !important;
  max-height:calc(100vh - 112px) !important;
}

/* Smaller screens: fixed bar should not overflow */
@media (max-width: 980px){
  .guest-editor-page .guest-flow-bottom-bar{
    left:14px !important;
    right:14px !important;
    bottom:12px !important;
    transform:none !important;
    width:auto !important;
    max-width:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .guest-editor-page .guest-flow-bottom-actions{
    width:100% !important;
  }

  .guest-editor-page .guest-flow-bottom-actions .btn,
  .guest-editor-page .guest-flow-link{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .guest-editor-page .project-sidebar-wrap{
    top:76px !important;
    max-height:calc(100vh - 96px) !important;
  }
}

/* Guest create/edit delete action */
.guest-editor-page .guest-delete-bottom-btn,
.guest-editor-page .btn-danger-outline{
  border-color:rgba(185,28,28,.22) !important;
  background:#fff !important;
  color:#991b1b !important;
}

.guest-editor-page .guest-delete-bottom-btn:hover,
.guest-editor-page .btn-danger-outline:hover{
  border-color:rgba(185,28,28,.42) !important;
  background:rgba(185,28,28,.07) !important;
  color:#7f1d1d !important;
}

/* --------------------------------------------------------------------------
   Role QA repair — linked guest edit context
   Prevents linked-member edit pages from collapsing due to layout bleed.
-------------------------------------------------------------------------- */

.guest-editor-page .linked-edit-context{
  display:block !important;
  max-width:1180px !important;
  margin:0 auto 18px !important;
  padding:20px 22px !important;
  border-radius:24px !important;
  border:1px solid rgba(30,30,34,.075) !important;
  background:#fff !important;
  box-shadow:0 18px 46px rgba(20,20,23,.04) !important;
}

.guest-editor-page .linked-edit-context__head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
}

.guest-editor-page .linked-edit-context__title{
  margin:0 !important;
  font-size:16px !important;
  font-weight:900 !important;
  color:#17171a !important;
}

.guest-editor-page .linked-edit-context__copy{
  max-width:680px !important;
  margin-top:8px !important;
  color:#756b70 !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

.guest-editor-page .linked-edit-context__actions{
  margin-top:14px !important;
}

.guest-editor-page .guest-step-card,
.guest-editor-page .guest-step-card > *,
.guest-editor-page .form-grid,
.guest-editor-page .form-grid-3{
  min-width:0 !important;
}

@media (max-width: 820px){
  .guest-editor-page .linked-edit-context__head{
    flex-direction:column !important;
  }
}

.tasks-project-context{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 0;
  font-size:12px;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#8b7f83;
}

.tasks-board-head-copy h1{
  margin-bottom:0;
}

.rsvp-closed-state{
  min-height:calc(100vh - 80px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 0;
}

.rsvp-closed-card{
  width:min(760px, 100%);
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.07);
  border-radius:30px;
  padding:34px;
  box-shadow:0 18px 46px rgba(31,24,24,.06);
  text-align:left;
}

.rsvp-closed-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff1f2;
  color:#7b001d;
  font-size:24px;
  margin-bottom:18px;
}

.rsvp-closed-eyebrow{
  margin:0 0 10px;
  font-size:12px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7b001d;
}

.rsvp-closed-title{
  margin:0;
  font-size:34px;
  line-height:1.08;
  font-weight:900;
  color:#111827;
}

.rsvp-closed-copy{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.7;
  color:#6b7280;
  max-width:620px;
}

.rsvp-closed-meta{
  margin-top:22px;
  padding:16px 18px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  color:#374151;
  font-size:14px;
  line-height:1.6;
}

@media (max-width:760px){
  .rsvp-closed-state{
    align-items:flex-start;
    padding:18px 0;
  }

  .rsvp-closed-card{
    padding:24px 20px;
    border-radius:24px;
  }

  .rsvp-closed-title{
    font-size:26px;
  }
}
/* =========================================================
   MOBILE RESPONSIVE HARDENING PASS
   Added before guided tour work so the future tooltip system has
   stable mobile targets.
   ========================================================= */

html,
body{
  max-width:100%;
  overflow-x:hidden;
}

img,
svg,
canvas,
video{
  max-width:100%;
}

.mobile-nav-trigger,
.mobile-sidebar-backdrop{
  display:none;
}

.vr-table-scroll,
.responsive-table,
.table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.vr-table-scroll table,
.responsive-table table,
.table-scroll table{
  width:100%;
}

@media (max-width: 760px){
  body{
    background:#f5f1ec !important;
  }

  .app-shell,
  .dashboard-saas{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:100vh !important;
    padding:0 !important;
    background:#f5f1ec !important;
  }

  .app-main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    padding:0 !important;
  }

  body.vr-global-sidebar-expanded .app-main{
    width:100% !important;
    margin-left:0 !important;
  }

  .surface,
  .project-surface,
  .project-workspace-surface,
  .dashboard-saas .surface{
    width:100% !important;
    max-width:100% !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:14px !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  .mobile-nav-trigger{
    position:fixed;
    top:14px;
    left:14px;
    z-index:1500;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:46px;
    height:46px;
    padding:0 13px;
    border:1px solid rgba(123,0,29,.14);
    border-radius:16px;
    background:#ffffff;
    color:#7b001d;
    box-shadow:0 14px 34px rgba(20,20,23,.14);
    cursor:pointer;
    font-weight:900;
  }

  .mobile-nav-trigger__icon{
    font-size:19px;
    line-height:1;
  }

  .mobile-nav-trigger__label{
    font-size:13px;
    line-height:1;
  }

  .mobile-sidebar-backdrop{
    position:fixed;
    inset:0;
    z-index:1300;
    display:block;
    opacity:0;
    pointer-events:none;
    background:rgba(17,17,20,.46);
    backdrop-filter:blur(4px);
    transition:opacity .18s ease;
  }

  body.vr-mobile-sidebar-open .mobile-sidebar-backdrop{
    opacity:1;
    pointer-events:auto;
  }

  .sidebar.sidebar-v4,
  .sidebar-v4[data-sidebar],
  [data-sidebar].sidebar-v4,
  body.vr-global-sidebar-expanded .sidebar.sidebar-v4,
  body.vr-global-sidebar-expanded .sidebar-v4[data-sidebar],
  body.vr-global-sidebar-expanded [data-sidebar].sidebar-v4{
    position:fixed !important;
    top:12px !important;
    left:12px !important;
    z-index:1400 !important;
    width:min(304px, calc(100vw - 24px)) !important;
    min-width:0 !important;
    max-width:calc(100vw - 24px) !important;
    height:calc(100dvh - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
    padding:20px !important;
    border-radius:28px !important;
    transform:translateX(calc(-100% - 28px)) !important;
    transition:transform .22s ease !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-shadow:0 24px 70px rgba(48,0,18,.28) !important;
  }

  body.vr-mobile-sidebar-open .sidebar.sidebar-v4,
  body.vr-mobile-sidebar-open .sidebar-v4[data-sidebar],
  body.vr-mobile-sidebar-open [data-sidebar].sidebar-v4{
    transform:translateX(0) !important;
  }

  body.vr-mobile-sidebar-open .sidebar-v4__brand,
  body.vr-mobile-sidebar-open .sidebar-v4__group,
  body.vr-mobile-sidebar-open .sidebar-v4__footer{
    align-items:stretch !important;
  }

  body.vr-mobile-sidebar-open .sidebar-v4__brand{
    justify-content:flex-start !important;
    margin-bottom:24px !important;
  }

  body.vr-mobile-sidebar-open .sidebar-v4__brand-copy{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
  }

  body.vr-mobile-sidebar-open .sidebar-v4__label{
    display:block !important;
    margin:0 0 8px !important;
    padding:0 10px !important;
    color:rgba(255,255,255,.72) !important;
    font-size:12px !important;
    font-weight:850 !important;
  }

  body.vr-mobile-sidebar-open .sidebar-v4__link{
    width:100% !important;
    min-height:50px !important;
    height:auto !important;
    justify-content:flex-start !important;
    gap:12px !important;
    padding:10px 12px !important;
    border-radius:18px !important;
  }

  body.vr-mobile-sidebar-open .sidebar-v4__text{
    display:inline-flex !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    font-size:15px !important;
    font-weight:850 !important;
  }

  body.vr-mobile-sidebar-open .sidebar-v4__chev{
    display:inline-flex !important;
  }

  .dash-topbar,
  .topbar,
  .app-topbar,
  .travel-topbar{
    position:sticky !important;
    top:0 !important;
    z-index:900 !important;
    width:auto !important;
    min-height:66px !important;
    height:auto !important;
    margin:0 -14px 14px !important;
    padding:12px 14px 12px 74px !important;
    border-bottom:1px solid rgba(30,30,34,.08) !important;
    background:rgba(245,241,236,.92) !important;
    backdrop-filter:blur(10px) !important;
  }

  .dash-search-wrap,
  .topbar-search,
  .app-topbar__search-wrap{
    display:none !important;
  }

  .dash-topbar-right,
  .topbar-user,
  .app-topbar__right{
    width:100% !important;
    justify-content:flex-end !important;
    min-width:0 !important;
  }

  .dash-user-meta,
  .topbar-user,
  .app-topbar__user{
    min-width:0 !important;
  }

  .dash-user-name,
  .topbar-name,
  .app-topbar__name{
    max-width:150px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .page-head,
  .dash-hero,
  .projects-page-head,
  .project-workspace-head,
  .project-workspace-header,
  .tasks-board-head,
  .task-create-head,
  .task-detail-head,
  .team-page-head,
  .db2-hero,
  .travel-hero,
  .hosp-hero{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
  }

  .page-title h1,
  .dash-hero-copy h1,
  .project-workspace-title-copy h1,
  .project-workspace-header__title,
  .projects-page-copy h1,
  .tasks-board-head-copy h1,
  .guest-create-title{
    font-size:clamp(26px, 8vw, 34px) !important;
    line-height:1.04 !important;
    letter-spacing:-.035em !important;
  }

  .actions,
  .dash-hero-actions,
  .projects-page-actions,
  .project-workspace-head-actions,
  .project-workspace-header__actions,
  .guest-header-actions,
  .tasks-board-head-actions,
  .task-create-head-actions,
  .task-detail-head-actions,
  .team-page-actions,
  .company-team-form-actions,
  .rsvp-setup-actions,
  .hosp-actions,
  .transport-actions,
  .guest-import-banner__actions{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  .btn,
  button.btn,
  a.btn,
  input[type="submit"].btn{
    min-height:44px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
  }

  .actions .btn,
  .dash-hero-actions .btn,
  .projects-page-actions .btn,
  .project-workspace-head-actions .btn,
  .project-workspace-header__actions .btn,
  .guest-header-actions .btn,
  .tasks-board-head-actions .btn,
  .task-create-head-actions .btn,
  .task-detail-head-actions .btn,
  .team-page-actions .btn,
  .company-team-form-actions .btn,
  .rsvp-setup-actions .btn,
  .hosp-actions .btn,
  .transport-actions .btn,
  .guest-import-banner__actions .btn{
    width:100% !important;
  }

  .dash-stat-row,
  .dash-content-grid,
  .dash-project-grid,
  .dashboard-admin-grid,
  .dashboard-grid,
  .project-rsvp-snapshot-row,
  .project-admin-command-grid,
  .project-command-grid,
  .project-dashboard-grid,
  .travel-top-grid,
  .transport-grid,
  .transport-dashboard-grid,
  .hosp-grid,
  .hospitality-grid,
  .guests-lite-grid,
  .rsvp-dashboard-grid,
  .rsvp-kpi-grid,
  .followup-grid,
  .company-team-grid,
  .team-grid,
  .task-grid,
  .cards-grid,
  .stats-grid,
  .form-grid,
  .form-grid-2,
  .form-grid-3{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .card,
  .dash-stat-card,
  .dash-project-card,
  .project-workspace-card,
  .rsvp-simple-card,
  .guest-import-banner,
  .guest-step-card,
  .form-card,
  .linked-edit-context,
  .rsvp-closed-card{
    border-radius:20px !important;
    padding:16px !important;
  }

  input,
  select,
  textarea,
  .input,
  .dash-search,
  .app-topbar__search{
    width:100% !important;
    max-width:100% !important;
    min-height:44px !important;
    font-size:16px !important;
  }

  textarea{
    min-height:96px !important;
  }

  .project-workspace-grid,
  #projectWorkspaceGrid,
  .project-shell{
    display:block !important;
  }

  .project-workspace-sidebar,
  #projectWorkspaceSidebar,
  .project-shell > .project-nav,
  .project-shell > .project-nav--v2{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    margin:0 0 14px !important;
    overflow:visible !important;
    z-index:20 !important;
  }

  .project-sidebar-rail-head{
    display:none !important;
  }

  .project-nav--v2{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px !important;
    border-radius:22px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .project-nav--v2::-webkit-scrollbar{
    height:0 !important;
  }

  .project-nav--v2 .project-nav-stack,
  .project-nav--v2 .project-nav-group{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:8px !important;
    width:auto !important;
    min-width:max-content !important;
  }

  .project-nav--v2 .project-nav-item,
  .project-nav--v2 .project-nav-item--card,
  .project-nav--v2 .project-nav-item--row{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:58px !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 12px !important;
    justify-content:center !important;
    gap:8px !important;
    border-radius:16px !important;
    white-space:nowrap !important;
  }

  .project-nav--v2 .project-nav-text{
    display:inline-flex !important;
    min-width:0 !important;
  }

  .project-nav--v2 .project-nav-title{
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .project-nav--v2 .project-nav-sub,
  .project-nav--v2 .project-nav-arrow,
  .project-nav--v2 .project-nav-role-strip{
    display:none !important;
  }

  .project-nav--v2 .project-nav-ico,
  .project-nav--v2 .project-nav-icon{
    flex:0 0 30px !important;
    width:30px !important;
    height:30px !important;
  }

  .proj-main,
  .project-workspace-main{
    width:100% !important;
    min-width:0 !important;
  }

  .vr-table-scroll,
  .responsive-table,
  .table-scroll{
    margin:8px 0 14px !important;
    border-radius:16px !important;
    border:1px solid rgba(30,30,34,.08) !important;
    background:#fff !important;
  }

  .vr-table-scroll::before,
  .responsive-table::before,
  .table-scroll::before{
    content:'Swipe table sideways';
    display:block;
    padding:9px 12px 0;
    color:#8b7f83;
    font-size:11px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .vr-table-scroll table,
  .responsive-table table,
  .table-scroll table{
    min-width:720px !important;
    border-collapse:separate !important;
  }

  .guest-flow-bottom-bar{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
  }
}

@media (max-width: 420px){
  .mobile-nav-trigger__label{
    display:none;
  }

  .surface,
  .project-surface,
  .project-workspace-surface,
  .dashboard-saas .surface{
    padding:12px !important;
  }

  .dash-topbar,
  .topbar,
  .app-topbar,
  .travel-topbar{
    margin:0 -12px 12px !important;
    padding-left:68px !important;
  }

  .vr-table-scroll table,
  .responsive-table table,
  .table-scroll table{
    min-width:680px !important;
  }
}