/* DWELLIVRA Premium Refinement — shared across production workspaces and isolated demo.
   No external assets, JavaScript dependencies or credentials are used by this stylesheet. */

/* Financial KPIs: the amount has its own row and can NEVER sit beside a competing icon. */
.finance-premium-kpis {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0 0 28px;
  width:100%;
  min-width:0;
}
.finance-premium-kpi {
  position:relative;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
  min-height:214px;
  padding:24px 25px 25px;
  border:1px solid #dfe8eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 24px rgba(20,44,62,.037);
  overflow:hidden;
  isolation:isolate;
}
.finance-premium-kpi-heading {
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  min-height:46px;
  margin-bottom:15px;
}
.finance-premium-kpi-icon {
  box-sizing:border-box;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:11px;
  color:#2c8073;
  background:#edf5f2;
}
.finance-premium-kpi-heading h3 {
  margin:0;
  min-width:0;
  color:#647a8e;
  font-size:12px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:-.1px;
  white-space:normal;
  overflow-wrap:break-word;
}
.finance-premium-kpi-value {
  display:block;
  align-self:stretch;
  max-width:100%;
  min-width:0;
  margin:0 0 9px;
  color:#152b45;
  font-size:clamp(25px,2.25vw,34px);
  line-height:1.13;
  font-weight:770;
  letter-spacing:-.045em;
  font-variant-numeric:tabular-nums;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.finance-premium-kpi p {
  min-width:0;
  margin:0 0 10px;
  color:#8294a8;
  font-size:11px;
  line-height:1.55;
  overflow-wrap:break-word;
}
.finance-premium-kpi-accent {
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,#14877c,rgba(20,135,124,0));
  opacity:.7;
  pointer-events:none;
}
.finance-premium-kpi--arrears .finance-premium-kpi-accent {background:linear-gradient(90deg,#b7834c,transparent)}
.finance-premium-kpi--income .finance-premium-kpi-accent {background:linear-gradient(90deg,#417f91,transparent)}
.finance-premium-kpi--result .finance-premium-kpi-accent {background:linear-gradient(90deg,#476e93,transparent)}
@media (max-width:1200px) {
  .finance-premium-kpis {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .finance-premium-kpi {min-height:190px}
  .finance-premium-kpi-value {font-size:clamp(27px,3vw,35px)}
}
@media (max-width:580px) {
  .finance-premium-kpis {grid-template-columns:minmax(0,1fr);gap:12px}
  .finance-premium-kpi {min-height:0;padding:19px 20px 22px;border-radius:14px}
  .finance-premium-kpi-heading {margin-bottom:10px}
  .finance-premium-kpi-value {font-size:clamp(25px,7vw,35px)}
}

/* Premium organisation onboarding, responsive and identical for demo and live. */
.workspace .workspace-setup--premium {
  box-sizing:border-box;
  position:relative;
  min-width:0;
  width:100%;
  margin:0 0 28px;
  padding:28px 31px 29px;
  overflow:hidden;
  border:1px solid #dce8e8;
  border-radius:20px;
  background:radial-gradient(ellipse 450px 210px at 100% 0%,rgba(223,242,237,.68),transparent 80%),#fff;
  box-shadow:0 16px 40px rgba(19,53,67,.055);
}
.workspace .ws-setup-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:20px;
}
.workspace .ws-setup-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#147c73;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.8px;
}
.workspace .ws-setup-eyebrow svg {width:15px;height:15px}
.workspace .ws-setup-indicator {
  display:inline-flex;
  align-items:center;
  border:1px solid #deebe8;
  background:#f2f9f6;
  border-radius:999px;
  padding:7px 12px;
  color:#548178;
  font-size:9px;
  font-weight:750;
  letter-spacing:.85px;
  line-height:1.2;
  text-align:center;
}
.workspace .workspace-setup--premium .workspace-setup-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  min-width:0;
}
.workspace .ws-setup-intro {flex:1;min-width:0}
.workspace .workspace-setup--premium .ws-setup-intro h2 {
  margin:0;
  color:#172f47;
  font-size:clamp(22px,2.2vw,29px);
  line-height:1.22;
  font-weight:750;
  letter-spacing:-.75px;
  overflow-wrap:break-word;
}
.workspace .workspace-setup--premium .ws-setup-intro p {
  max-width:630px;
  margin:10px 0 0;
  color:#6b8090;
  font-size:12px;
  line-height:1.7;
  overflow-wrap:break-word;
}
.workspace .ws-setup-progress-indicator {
  display:flex;
  align-items:center;
  gap:14px;
  flex:0 0 auto;
  min-width:195px;
  padding:0 0 0 25px;
  border-left:1px solid #e0eae9;
}
.workspace .ws-setup-progress-ring {
  box-sizing:border-box;
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  flex:0 0 78px;
  border-radius:50%;
  background:conic-gradient(#15877c var(--ws-progress,0%),#e7f0ed 0);
}
.workspace .ws-setup-progress-ring>div {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:1px;
  width:66px;height:66px;
  border-radius:50%;
  background:#fff;
}
.workspace .ws-setup-progress-ring strong {
  color:#147e73;font-size:20px;line-height:1.2;font-weight:790;letter-spacing:-.5px;
}
.workspace .ws-setup-progress-ring small {
  margin:0;color:#84938e;font-size:9px;text-transform:uppercase;letter-spacing:.8px;
}
.workspace .ws-setup-progress-indicator>span {display:flex;flex-direction:column;gap:5px;min-width:0}
.workspace .ws-setup-progress-indicator>span strong {font-size:13px;color:#254d5b;white-space:nowrap}
.workspace .ws-setup-progress-indicator>span small {font-size:10px;color:#82969b;white-space:nowrap}
.workspace .workspace-setup--premium .workspace-setup-progress {
  height:6px;
  margin:24px 0;
  border-radius:20px;
  background:#eaf1ef;
}
.workspace .workspace-setup--premium .workspace-setup-progress i {
  border-radius:20px;
  background:linear-gradient(90deg,#147e73,#42b3a1);
  transition:width .25s ease;
}
.workspace .ws-setup-next {
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:17px;
  min-width:0;
  padding:17px 19px;
  border:1px solid #21475c;
  border-radius:13px;
  background:linear-gradient(110deg,#16344c,#153b4b);
  box-shadow:0 8px 22px rgba(15,49,66,.09);
  color:white;
}
.workspace .ws-setup-next-icon {
  display:grid;
  place-items:center;
  flex:0 0 43px;
  width:43px;height:43px;
  border:1px solid rgba(180,229,218,.17);
  border-radius:12px;
  background:rgba(135,220,198,.11);
  color:#9be0cd;
}
.workspace .ws-setup-next-copy {flex:1;min-width:0}
.workspace .ws-setup-next-copy>span {
  display:block;color:#83c7b6;font-size:9px;font-weight:780;letter-spacing:1.55px;line-height:1.5;
}
.workspace .ws-setup-next-copy strong {
  display:block;margin:3px 0 3px;color:#fff;font-size:15px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;
}
.workspace .ws-setup-next-copy small {
  display:block;color:#b6cad5;font-size:11px;line-height:1.5;overflow-wrap:break-word;
}
.workspace .ws-setup-next-cta {
  box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  gap:10px;flex:0 0 auto;
  min-height:42px;padding:10px 15px;
  border-radius:10px;
  border:1px solid #b5e1d6;
  background:#e3f6ee;
  color:#176c60;
  font-size:11px;font-weight:790;
  white-space:nowrap;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease;
}
.workspace .ws-setup-next-cta:hover {background:#fff;transform:translateY(-1px)}
.workspace .ws-setup-next-cta:focus-visible,
.workspace .workspace-setup--premium .ws-setup-step:focus-visible {outline:3px solid #50baa7;outline-offset:2px}
.workspace .ws-setup-steps-header {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px;
  min-width:0;
  margin:24px 0 12px;
}
.workspace .ws-setup-steps-header h3 {
  margin:0;color:#203a4d;font-size:14px;font-weight:730;letter-spacing:-.1px;
}
.workspace .ws-setup-steps-header>span {color:#8799a4;font-size:10px;line-height:1.4}
.workspace .workspace-setup--premium .workspace-setup-steps {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  min-width:0;
}
.workspace .workspace-setup--premium .workspace-setup-steps>a {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  grid-column:span 2;
  gap:0;
  min-width:0;min-height:142px;
  padding:16px 17px 13px;
  border:1px solid #dfe8eb;
  border-radius:13px;
  background:#fff;
  color:#203e50;
  text-decoration:none;
  box-shadow:0 3px 9px rgba(16,44,63,.02);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.workspace .workspace-setup--premium .workspace-setup-steps>a:nth-child(4),
.workspace .workspace-setup--premium .workspace-setup-steps>a:nth-child(5) {
  grid-column:span 3;
}
.workspace .workspace-setup--premium .workspace-setup-steps>a.is-complete {
  background:#f8fcfa;
  border-color:#cfe5dd;
}
.workspace .workspace-setup--premium .workspace-setup-steps>a.is-next {
  background:#fff;
  border-color:#69ac9c;
  box-shadow:0 0 0 1px rgba(73,164,144,.16),0 7px 18px rgba(16,86,76,.05);
}
.workspace .workspace-setup--premium .workspace-setup-steps>a:hover {
  transform:translateY(-2px);
  border-color:#87bcb0;
  box-shadow:0 10px 24px rgba(17,68,68,.07);
}
.workspace .ws-setup-step-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-width:0;
  margin-bottom:15px;
}
.workspace .workspace-setup--premium .ws-setup-step-icon {
  display:grid;
  place-items:center;
  box-sizing:border-box;
  flex:0 0 34px;
  width:34px;height:34px;
  border-radius:10px;
  color:#397d71;
  background:#eaf4f0;
}
.workspace .workspace-setup--premium .ws-setup-step-status {
  display:inline-flex;
  align-items:center;
  width:auto;height:auto;
  padding:5px 8px;
  border:1px solid #e8edee;
  border-radius:99px;
  background:#f5f7f8;
  color:#81929b;
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
}
.workspace .workspace-setup--premium a.is-complete .ws-setup-step-status {
  border-color:#d7eae2;color:#237d69;background:#eaf6f0;
}
.workspace .workspace-setup--premium a.is-next .ws-setup-step-status {
  border-color:#d7eadf;color:#177968;background:#eef8f2;
}
.workspace .workspace-setup--premium .ws-setup-step-body {
  display:block;
  flex:1;
  width:100%;
  min-width:0;
  max-width:100%;
}
.workspace .workspace-setup--premium .ws-setup-step-body b {
  display:block;
  margin:0 0 5px;
  color:#193b4d;
  font-size:12px;
  font-weight:740;
  line-height:1.35;
  white-space:normal;
  overflow:visible;
  overflow-wrap:break-word;
  text-overflow:clip;
}
.workspace .workspace-setup--premium .ws-setup-step-body small {
  display:block;
  color:#7d919b;
  font-size:10px;
  line-height:1.5;
  overflow:visible;
  white-space:normal;
  overflow-wrap:break-word;
  text-overflow:clip;
}
.workspace .workspace-setup--premium .ws-setup-step-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex:none;
  width:100%;height:auto;
  margin-top:13px;
  padding-top:10px;
  border-top:1px solid #e9eff0;
  color:#94a6b0;
  font-size:10px;
  font-weight:750;
  letter-spacing:1px;
  background:transparent;
  border-radius:0;
}
.workspace .workspace-setup--premium a.is-next .ws-setup-step-foot{color:#158375}
@media(min-width:1650px) {
  .workspace .workspace-setup--premium .workspace-setup-steps {grid-template-columns:repeat(5,minmax(0,1fr))}
  .workspace .workspace-setup--premium .workspace-setup-steps>a,
  .workspace .workspace-setup--premium .workspace-setup-steps>a:nth-child(4),
  .workspace .workspace-setup--premium .workspace-setup-steps>a:nth-child(5) {grid-column:span 1}
}
@media(max-width:1000px) {
  .workspace .workspace-setup--premium{padding:24px}
  .workspace .workspace-setup--premium .workspace-setup-head {align-items:flex-start}
  .workspace .ws-setup-progress-indicator {min-width:0;padding-left:15px;gap:10px}
  .workspace .ws-setup-progress-ring{width:65px;height:65px;flex-basis:65px}
  .workspace .ws-setup-progress-ring>div{width:53px;height:53px}
  .workspace .ws-setup-progress-ring strong{font-size:17px}
  .workspace .workspace-setup--premium .workspace-setup-steps {grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace .workspace-setup--premium .workspace-setup-steps>a {grid-column:span 1}
  .workspace .workspace-setup--premium .workspace-setup-steps>a:nth-child(4),
  .workspace .workspace-setup--premium .workspace-setup-steps>a:nth-child(5) {grid-column:span 1}
  .workspace .workspace-setup--premium .workspace-setup-steps>a:last-child {grid-column:1/-1}
}
@media(max-width:700px) {
  .workspace .workspace-setup--premium{padding:22px 18px;border-radius:16px}
  .workspace .workspace-setup--premium .workspace-setup-head {display:flex;flex-direction:column;gap:17px}
  .workspace .ws-setup-progress-indicator {padding:0;border:0;gap:12px}
  .workspace .ws-setup-next {flex-wrap:wrap;padding:15px;gap:11px}
  .workspace .ws-setup-next-cta {width:100%;white-space:normal;min-height:43px}
  .workspace .ws-setup-topline {gap:10px}
}
@media(max-width:530px) {
  .workspace .ws-setup-indicator {font-size:8px}
  .workspace .workspace-setup--premium .ws-setup-intro h2 {font-size:23px}
  .workspace .workspace-setup--premium .workspace-setup-steps {grid-template-columns:minmax(0,1fr);gap:10px}
  .workspace .workspace-setup--premium .workspace-setup-steps>a,
  .workspace .workspace-setup--premium .workspace-setup-steps>a:last-child {grid-column:1/-1;min-height:132px}
}
@media(prefers-reduced-motion:reduce) {
 .finance-premium-kpi,.workspace .workspace-setup--premium .workspace-setup-steps>a,.workspace .ws-setup-next-cta {transition:none}
}
