
/* Robo Bayya Portal UI Pro 2.0
   Cosmetic layer only. No database, AJAX, form names or portal handlers are changed. */

:root{
  --rb-navy:#071b41;
  --rb-blue:#1456d8;
  --rb-blue2:#367dff;
  --rb-ink:#10213f;
  --rb-muted:#6c7a91;
  --rb-line:#e3eaf4;
  --rb-bg:#f4f7fc;
  --rb-card:#fff;
  --rb-radius:22px;
  --rb-shadow:0 18px 55px rgba(8,29,65,.10);
  --rb-accent:#1456d8;
  --rb-accent-soft:rgba(20,86,216,.10);
  --rb-grad:linear-gradient(135deg,#071b41 0%,#1456d8 100%);
}

html{scroll-behavior:smooth}
body.rb-portal-ui-pro{
  background:
    radial-gradient(circle at 10% 0%,rgba(54,125,255,.08),transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#f1f5fb 100%) !important;
  color:var(--rb-ink) !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  line-height:1.55;
}

/* Remove the generic theme chrome that caused the sticky/plain title/footer look. */
.rb-portal-ui-pro .site-header,
.rb-portal-ui-pro header.site-header,
.rb-portal-ui-pro .site-footer,
.rb-portal-ui-pro footer.site-footer,
.rb-portal-ui-pro .wp-block-template-part,
.rb-portal-ui-pro .entry-header,
.rb-portal-ui-pro .page-header,
.rb-portal-ui-pro .wp-site-blocks > header,
.rb-portal-ui-pro .wp-site-blocks > footer{
  display:none !important;
}

/* Keep WordPress admin bar available for administrators. */
body.admin-bar.rb-portal-ui-pro{padding-top:32px !important}

/* Main content */
.rb-portal-ui-pro main,
.rb-portal-ui-pro .site-main,
.rb-portal-ui-pro .entry-content,
.rb-portal-ui-pro .wp-site-blocks{
  max-width:none !important;
}

.rb-portal-ui-pro .entry-content,
.rb-portal-ui-pro .site-main{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.rb-portal-ui-pro .rb-ui-shell{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 56px;
}

.rb-ui-brandbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:min(1180px,calc(100% - 32px));
  margin:18px auto 8px;
  padding:12px 14px;
  border:1px solid var(--rb-line);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-radius:18px;
  box-shadow:0 8px 28px rgba(8,29,65,.06);
}

.rb-ui-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.rb-ui-brand-logo{
  width:48px !important;
  height:48px !important;
  min-width:48px;
  object-fit:contain;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(8,29,65,.12);
}
.rb-ui-logo-fallback{
  display:grid;
  place-items:center;
  width:48px;height:48px;
  min-width:48px;
  border-radius:14px;
  color:#fff;
  background:var(--rb-grad);
  font-size:18px;
  font-weight:900;
  letter-spacing:-1px;
  box-shadow:0 8px 20px rgba(20,86,216,.22);
}
.rb-ui-brand-text strong{
  display:block;
  font-size:16px;
  line-height:1.2;
  font-weight:850;
  color:var(--rb-navy);
}
.rb-ui-brand-text span{
  display:block;
  margin-top:3px;
  color:var(--rb-muted);
  font-size:11px;
  font-weight:600;
}
.rb-ui-brand-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--rb-line);
  background:#f8fbff;
  color:var(--rb-muted);
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
}
.rb-ui-brand-pill:before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:#1aa66a;
  box-shadow:0 0 0 4px rgba(26,166,106,.10);
}

/* Hide common title duplicates but retain actual form content. */
.rb-portal-ui-pro .rb-hide-theme-title{display:none !important}

.rb-ui-hero{
  text-align:center;
  padding:24px 12px 22px;
}
.rb-ui-hero h1{
  margin:0 !important;
  color:var(--rb-navy) !important;
  font-size:clamp(30px,4.3vw,50px) !important;
  line-height:1.06 !important;
  letter-spacing:-1.3px !important;
  font-weight:900 !important;
}
.rb-ui-hero p{
  margin:11px auto 0 !important;
  max-width:680px;
  color:var(--rb-muted) !important;
  font-size:15px !important;
}

/* Portal cards */
.rb-portal-ui-pro .rbp5-card,
.rb-portal-ui-pro .card,
.rb-portal-ui-pro .dashboard-card,
.rb-portal-ui-pro .rb-card,
.rb-portal-ui-pro .panel,
.rb-portal-ui-pro .box,
.rb-portal-ui-pro .application-card{
  border:1px solid var(--rb-line) !important;
  border-radius:var(--rb-radius) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:var(--rb-shadow) !important;
}

.rb-ui-card{
  border:1px solid var(--rb-line);
  border-radius:var(--rb-radius);
  background:#fff;
  box-shadow:var(--rb-shadow);
  padding:24px;
}

/* Role-specific accents */
body.rb-role-investor{--rb-accent:#1456d8;--rb-accent-soft:rgba(20,86,216,.10);--rb-grad:linear-gradient(135deg,#0b2c72,#1456d8)}
body.rb-role-franchise{--rb-accent:#7136d8;--rb-accent-soft:rgba(113,54,216,.10);--rb-grad:linear-gradient(135deg,#3d176e,#7136d8)}
body.rb-role-supporting-partner{--rb-accent:#128b62;--rb-accent-soft:rgba(18,139,98,.10);--rb-grad:linear-gradient(135deg,#075f45,#128b62)}
body.rb-role-staff{--rb-accent:#d97818;--rb-accent-soft:rgba(217,120,24,.10);--rb-grad:linear-gradient(135deg,#9b4500,#d97818)}
body.rb-role-super-admin{--rb-accent:#c33d4e;--rb-accent-soft:rgba(195,61,78,.10);--rb-grad:linear-gradient(135deg,#751e2a,#c33d4e)}

/* Login */
.rb-login-ui{
  width:min(620px,calc(100% - 28px));
  margin:0 auto;
  padding:10px 0 56px;
}
.rb-login-card{
  border:1px solid var(--rb-line);
  border-radius:26px;
  background:rgba(255,255,255,.98);
  box-shadow:0 24px 70px rgba(8,29,65,.13);
  padding:28px;
}
.rb-login-logo-row{
  display:flex;
  align-items:center;
  gap:13px;
  padding:15px;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbff,#fff);
  border:1px solid var(--rb-line);
  margin-bottom:22px;
}
.rb-login-logo-row img{
  width:58px !important;height:58px !important;
  min-width:58px;
  object-fit:contain;
  border-radius:16px;
}
.rb-login-logo-row strong{
  color:var(--rb-navy);
  font-size:17px;
  font-weight:850;
}
.rb-login-logo-row span{
  display:block;
  color:var(--rb-muted);
  font-size:11px;
  margin-top:3px;
}
.rb-login-card label{
  color:var(--rb-ink);
  font-size:13px;
  font-weight:800;
  margin-bottom:7px;
}
.rb-login-card input:not([type=checkbox]):not([type=radio]),
.rb-login-card select,
.rb-login-card textarea{
  width:100% !important;
  min-height:52px !important;
  box-sizing:border-box !important;
  border:1px solid #d4deec !important;
  border-radius:13px !important;
  background:#fbfdff !important;
  color:var(--rb-ink) !important;
  padding:13px 14px !important;
  font-size:15px !important;
  outline:none !important;
  transition:.18s ease;
}
.rb-login-card input:focus,
.rb-login-card select:focus,
.rb-login-card textarea:focus{
  border-color:var(--rb-accent) !important;
  box-shadow:0 0 0 4px var(--rb-accent-soft) !important;
  background:#fff !important;
}
.rb-login-card button,
.rb-login-card input[type=submit],
.rb-login-card [type=submit]{
  width:100% !important;
  min-height:54px !important;
  border:0 !important;
  border-radius:14px !important;
  background:var(--rb-grad) !important;
  color:#fff !important;
  font-weight:850 !important;
  font-size:15px !important;
  box-shadow:0 12px 26px var(--rb-accent-soft) !important;
}
.rb-role-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 16px;
  padding:7px 10px;
  border-radius:999px;
  color:var(--rb-accent);
  background:var(--rb-accent-soft);
  font-size:11px;
  font-weight:850;
}
.rb-role-chip:before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:var(--rb-accent);
}

/* Generic form controls across portal */
.rb-portal-ui-pro input:not([type=checkbox]):not([type=radio]),
.rb-portal-ui-pro select,
.rb-portal-ui-pro textarea{
  border-radius:12px !important;
}
.rb-portal-ui-pro button,
.rb-portal-ui-pro input[type=submit]{
  border-radius:12px !important;
}

/* Dashboard metrics/cards */
.rb-dashboard-ui{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:18px 0 58px;
}
.rb-dashboard-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin:10px 0 22px;
}
.rb-dashboard-head h1{
  margin:0 !important;
  color:var(--rb-navy) !important;
  font-size:clamp(27px,3.8vw,42px) !important;
  font-weight:900 !important;
  letter-spacing:-.9px !important;
}
.rb-dashboard-head p{
  margin:6px 0 0 !important;
  color:var(--rb-muted) !important;
}
.rb-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-bottom:18px;
}
.rb-kpi{
  position:relative;
  overflow:hidden;
  border:1px solid var(--rb-line);
  border-radius:20px;
  background:#fff;
  padding:20px;
  box-shadow:0 12px 35px rgba(8,29,65,.07);
}
.rb-kpi:after{
  content:"";
  position:absolute;
  right:-35px;top:-35px;
  width:100px;height:100px;
  border-radius:50%;
  background:var(--rb-accent-soft);
}
.rb-kpi-label{color:var(--rb-muted);font-size:12px;font-weight:750}
.rb-kpi-value{margin-top:8px;color:var(--rb-navy);font-size:28px;font-weight:900;letter-spacing:-.6px}

/* Tables */
.rb-portal-ui-pro table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden;
  border:1px solid var(--rb-line);
  border-radius:16px;
  background:#fff;
}
.rb-portal-ui-pro th{
  background:#f5f8fd !important;
  color:var(--rb-navy) !important;
  font-size:12px !important;
  font-weight:850 !important;
}
.rb-portal-ui-pro td,.rb-portal-ui-pro th{
  padding:12px 14px !important;
  border-bottom:1px solid #edf1f7 !important;
}
.rb-portal-ui-pro tr:last-child td{border-bottom:0 !important}

/* Links/buttons */
.rb-portal-ui-pro a{color:var(--rb-accent)}
.rb-portal-ui-pro .button,
.rb-portal-ui-pro .btn,
.rb-portal-ui-pro button{
  font-weight:750;
}

/* Mobile app feel */
@media(max-width:760px){
  body.admin-bar.rb-portal-ui-pro{padding-top:46px !important}
  .rb-ui-brandbar{
    width:calc(100% - 20px);
    margin:10px auto 4px;
    padding:10px;
    border-radius:15px;
  }
  .rb-ui-brand-logo,.rb-ui-logo-fallback{width:42px !important;height:42px !important;min-width:42px}
  .rb-ui-brand-text strong{font-size:14px}
  .rb-ui-brand-text span{font-size:10px}
  .rb-ui-brand-pill{display:none}

  .rb-ui-hero{padding:17px 8px}
  .rb-ui-hero h1{font-size:29px !important;letter-spacing:-.7px !important}
  .rb-ui-hero p{font-size:13px !important}

  .rb-login-ui{
    width:calc(100% - 18px);
    padding:5px 0 35px;
  }
  .rb-login-card{
    padding:16px 13px;
    border-radius:20px;
    box-shadow:0 14px 40px rgba(8,29,65,.10);
  }
  .rb-login-logo-row{padding:12px;margin-bottom:16px;border-radius:15px}
  .rb-login-logo-row img{width:48px !important;height:48px !important;min-width:48px}
  .rb-login-logo-row strong{font-size:15px}
  .rb-login-card input:not([type=checkbox]):not([type=radio]),
  .rb-login-card select,
  .rb-login-card textarea{
    min-height:50px !important;
    font-size:16px !important;
  }
  .rb-dashboard-ui{width:calc(100% - 18px);padding-bottom:35px}
  .rb-dashboard-head{align-items:flex-start;flex-direction:column;gap:5px}
  .rb-dashboard-head h1{font-size:29px !important}
  .rb-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}
  .rb-kpi{padding:15px;border-radius:16px}
  .rb-kpi-value{font-size:23px}
  .rb-ui-card{padding:16px;border-radius:18px}
  .rb-portal-ui-pro table{display:block;overflow-x:auto;white-space:nowrap}
}

@media(max-width:420px){
  .rb-kpi-grid{grid-template-columns:1fr}
  .rb-ui-brandbar{width:calc(100% - 14px)}
  .rb-login-ui,.rb-dashboard-ui{width:calc(100% - 12px)}
}
