.saas-page .box{border:0;border-radius:14px;box-shadow:0 8px 28px rgba(20,45,70,.08);overflow:hidden}.saas-page .box-header{padding:16px 18px;border-bottom:1px solid #edf1f5}.saas-hero{background:linear-gradient(135deg,#17324d,#255f85);color:#fff;border-radius:16px;padding:24px;margin-bottom:18px}.saas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.saas-stat{background:#fff;border:1px solid #e4ebf1;border-radius:13px;padding:16px;box-shadow:0 4px 18px rgba(20,45,70,.05)}.saas-stat span{display:block;color:#718096;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.saas-stat strong{display:block;margin-top:7px;color:#17324d;font-size:24px}.saas-stat.green strong{color:#169052}.saas-pill{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef4f8;color:#36536b;font-size:11px;font-weight:700}.saas-pill.active{background:#e9f8ef;color:#168447}.saas-pill.warn{background:#fff5df;color:#a46b00}.saas-pill.danger{background:#fdecec;color:#bb2f2f}.saas-progress{height:7px;background:#edf1f5;border-radius:9px;overflow:hidden}.saas-progress i{display:block;height:100%;background:#17a673}.saas-plan{border:1px solid #e3eaf0;border-radius:14px;padding:18px;background:#fff;height:100%}.saas-plan h3{margin-top:0;color:#17324d}.saas-table{min-width:900px}.saas-form-card{padding:18px}.saas-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.saas-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.saas-ticket-message{border:1px solid #e3eaf0;border-radius:10px;padding:12px;margin-bottom:10px;background:#fff}.saas-ticket-message.support{border-left:4px solid #17a673}.saas-ticket-message.tenant{border-left:4px solid #2d7fc1}.register-shell{min-height:100vh;background:linear-gradient(135deg,#eff5f9,#f9fcfd);padding:28px 14px}.register-card{max-width:920px;margin:auto;background:#fff;border-radius:18px;box-shadow:0 18px 60px rgba(20,45,70,.12);overflow:hidden}.register-head{padding:28px;background:linear-gradient(135deg,#17324d,#20715b);color:#fff}.register-body{padding:26px}.plan-choice{border:1px solid #dfe7ed;border-radius:12px;padding:14px;margin-bottom:10px}.plan-choice input{margin-right:8px}@media(max-width:991px){.saas-grid{grid-template-columns:repeat(2,1fr)}.saas-three{grid-template-columns:1fr 1fr}}@media(max-width:767px){.saas-grid,.saas-two,.saas-three{grid-template-columns:1fr}.saas-page .content{padding:10px}.saas-hero{padding:18px}.saas-stat strong{font-size:20px}.saas-page .btn{min-height:40px}.register-body{padding:18px}}

/* Active Plus Phase 4.1 — SaaS Billing & Automation */
.saas-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.saas-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
.billing-filter{margin:0}
.saas-page .input-group-sm .form-control{height:30px}
.saas-page .table>tbody>tr>td{vertical-align:middle}
.saas-page .box-tools{right:15px;top:13px}
@media(max-width:1200px){.saas-grid-five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.saas-grid-five,.saas-check-grid{grid-template-columns:1fr}}


/* Active Plus Phase 4.2 — Domains, Branding & Tenant Operations */
.saas-color-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 18px;
}
.saas-color-grid .input-group .color-picker{
  width:54px;
  padding:3px;
}
.brand-preview{
  background:var(--tenant-background,#f7f9fb);
  color:var(--tenant-text,#263746);
  border:1px solid rgba(30,50,65,.12);
  border-radius:18px;
  padding:28px;
  text-align:center;
  min-height:270px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.brand-preview img{
  max-width:200px;
  max-height:85px;
  object-fit:contain;
  margin-bottom:15px;
}
.brand-preview-mark{
  width:72px;height:72px;border-radius:20px;
  display:grid;place-items:center;
  background:var(--tenant-accent,#17a673);
  color:#fff;font-size:26px;font-weight:800;
}
.brand-preview h3{
  color:var(--tenant-primary,#17324d);
  font-family:var(--tenant-font,Arial,sans-serif);
  font-weight:800;
}
.brand-preview button{
  border:0;border-radius:8px;padding:10px 18px;
  background:var(--tenant-primary,#17324d);color:#fff;
}
.onboarding-task{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:15px;padding:14px 0;border-bottom:1px solid #e6edf1;
}
.onboarding-task:last-child{border-bottom:0}
.onboarding-task i{margin-right:8px;color:#8797a4}
.onboarding-task.completed i{color:#17a673}
.onboarding-task p{margin:4px 0 0 25px;color:#748592;font-size:12px}
.domain-status-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px
}
.saas-page code{
  word-break:break-all;
  white-space:normal;
  background:#eef4f7;
  color:#17324d;
}
.saas-page .table-bordered>tbody>tr>th{
  width:160px;background:#f5f8fa
}
.saas-stat.warn strong{color:#b57b00}
.saas-stat.danger strong{color:#b83232}
@media(max-width:991px){
  .saas-color-grid{grid-template-columns:repeat(2,1fr)}
  .domain-status-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .saas-color-grid,.domain-status-grid{grid-template-columns:1fr}
  .onboarding-task{flex-direction:column}
}


/* Active Plus Phase 4.3 — Tenant Recovery */
.recovery-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 16px;
  padding:12px;
  background:#f5f8fa;
  border:1px solid #e3e9ed;
  border-radius:8px;
}
.recovery-module-grid label{
  margin:0;
  font-weight:500;
}
.recovery-token{
  border-left:5px solid #e6a100;
  font-size:15px;
}
.recovery-token code{
  display:inline-block;
  margin:0 8px;
  padding:8px 12px;
  font-size:18px;
  letter-spacing:1px;
  background:#fff;
}
.migration-sample{
  max-height:360px;
  overflow:auto;
}
.migration-sample th{
  white-space:nowrap;
  background:#f3f7f9;
  position:sticky;
  top:0;
  z-index:2;
}
.migration-sample td{
  min-width:120px;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.saas-page .box-warning{
  border-top-color:#e6a100;
}
.saas-page .box-danger{
  border-top-color:#c23b3b;
}
@media(max-width:767px){
  .recovery-module-grid{grid-template-columns:1fr}
}

/* Active Plus Phase 4.4 — SaaS Intelligence */
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
.analytics-kpi{background:#fff;border:1px solid #e1e8ed;border-radius:14px;padding:17px;box-shadow:0 8px 20px rgba(18,42,61,.05)}
.analytics-kpi span{display:block;color:#71818d;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.analytics-kpi strong{display:block;color:#17324d;font-size:25px;margin-top:7px}.analytics-kpi small{color:#7f8f9a}.analytics-kpi.good{border-top:4px solid #17a673}.analytics-kpi.warn{border-top:4px solid #e5a000}.analytics-kpi.danger{border-top:4px solid #c43e3e}.analytics-kpi.info{border-top:4px solid #2c7fb8}
.analytics-bars{display:flex;align-items:flex-end;gap:7px;height:220px;padding:18px 10px 35px;border-bottom:1px solid #dfe7ec}.analytics-bar{position:relative;flex:1;min-width:9px;background:linear-gradient(180deg,#17a673,#17324d);border-radius:5px 5px 0 0}.analytics-bar span{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;color:#6c7e8b}.analytics-bar i{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-style:normal;font-size:10px;color:#17324d;white-space:nowrap}
.health-score{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:19px;border:6px solid #dfe8ec;background:#fff}.health-score.healthy{border-color:#17a673;color:#11734f}.health-score.attention,.health-score.needsattention{border-color:#f0bd3e;color:#9b6d00}.health-score.risk,.health-score.atrisk{border-color:#ee8d2d;color:#a34e00}.health-score.critical,.health-score.inactive{border-color:#c43e3e;color:#a42b2b}
.signal-card{border:1px solid #e3eaee;border-left:5px solid #7d8e99;border-radius:8px;padding:13px 15px;margin-bottom:10px;background:#fff}.signal-card.Critical{border-left-color:#c43e3e}.signal-card.Warning{border-left-color:#e5a000}.signal-card.Success{border-left-color:#17a673}.signal-card h4{margin:0 0 5px;font-size:15px}.signal-card p{margin:3px 0;color:#5f7180}.signal-action{background:#f5f8fa;border-radius:6px;padding:8px;margin-top:8px;font-size:12px}
.analytics-components{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.analytics-component{background:#f5f8fa;border-radius:8px;padding:12px;text-align:center}.analytics-component strong{font-size:20px;color:#17324d;display:block}
.forecast-table td,.forecast-table th{white-space:nowrap}.risk-meter{height:8px;background:#e7edf1;border-radius:10px;overflow:hidden}.risk-meter i{display:block;height:100%;background:linear-gradient(90deg,#17a673,#e5a000,#c43e3e)}
@media(max-width:1200px){.analytics-kpi-grid{grid-template-columns:repeat(3,1fr)}.analytics-components{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.analytics-kpi-grid,.analytics-components{grid-template-columns:1fr 1fr}.analytics-bars{overflow-x:auto}.analytics-bar{min-width:32px}}
@media(max-width:480px){.analytics-kpi-grid,.analytics-components{grid-template-columns:1fr}}
