/* Bank Senoa v2.5.0 — Parent Portal UX Rebuild
   Dedicated parent experience. It intentionally does not alter admin/teller shells. */

.parent-body{
  min-height:100dvh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 86% 0,rgba(111,74,255,.16),transparent 32%),
    radial-gradient(circle at 10% 12%,rgba(36,136,255,.08),transparent 28%),
    #071021;
}
.parent-shell{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  min-height:100dvh!important;
  margin-inline:auto!important;
  border-inline:1px solid rgba(255,255,255,.045)!important;
  background:linear-gradient(180deg,rgba(6,15,32,.72),rgba(6,16,34,.46));
  overflow-x:clip!important;
}
.parent-top{
  position:sticky!important;
  top:0;
  z-index:30;
  width:100%;
  height:86px!important;
  padding:0!important;
  background:rgba(5,14,30,.9)!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  backdrop-filter:blur(22px);
}
.parent-top-inner{
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:0 24px;
}
.parent-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.parent-brand img{
  width:132px!important;
  height:44px!important;
  object-fit:contain;
  object-position:left center;
  flex:none;
}
.parent-brand>span{min-width:0;padding-left:12px;border-left:1px solid rgba(255,255,255,.08)}
.parent-brand b,.parent-brand small{display:block;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.parent-brand b{font-size:12px;color:#e9f2ff}
.parent-brand small{margin-top:3px;font-size:10px;color:#7389ad;text-transform:uppercase;letter-spacing:.08em}
.parent-desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
}
.parent-desktop-nav a{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 13px;
  border:1px solid transparent;
  border-radius:14px;
  color:#91a5c8;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  transition:.18s ease;
}
.parent-desktop-nav a .nav-svg{width:18px;height:18px;flex:none}
.parent-desktop-nav a:hover{color:#eef5ff;background:rgba(255,255,255,.045)}
.parent-desktop-nav a.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(43,140,255,.15),rgba(123,60,255,.16));
  border-color:rgba(111,137,255,.18);
}
.parent-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.parent-top-actions .notify-btn{width:44px;height:44px;min-height:44px}
.parent-profile-chip{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:4px 11px 4px 4px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  color:#dce8fb;
}
.parent-profile-chip.active{border-color:rgba(111,137,255,.26);background:rgba(85,77,214,.12)}
.parent-profile-chip .avatar{width:38px;height:38px;min-height:38px;border-radius:12px;flex:none}
.parent-profile-copy{min-width:0;max-width:130px}
.parent-profile-copy b,.parent-profile-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.parent-profile-copy b{font-size:11px}
.parent-profile-copy small{margin-top:2px;font-size:9px;color:#7e94ba}
.parent-logout,.parent-mobile-logout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:0 13px;
  border:1px solid rgba(255,98,125,.14);
  border-radius:14px;
  background:rgba(255,74,105,.065);
  color:#ffb6c4;
  font-size:11px;
  font-weight:850;
}
.parent-logout:hover,.parent-mobile-logout:hover{background:rgba(255,74,105,.11);color:#ffd3db}
.parent-logout .nav-svg,.parent-mobile-logout .nav-svg{width:18px;height:18px}
.parent-mobile-logout{display:none}

.parent-main{
  width:100%!important;
  min-width:0!important;
  min-height:calc(100dvh - 86px);
  padding:30px 28px 64px!important;
}
.parent-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:0 0 22px;
}
.parent-page-head .eyebrow{font-size:9px;color:#7f96bd;letter-spacing:.12em}
.parent-title{
  margin:5px 0 0!important;
  font-size:clamp(27px,3vw,36px)!important;
  line-height:1.08;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
}
.parent-bottom{display:none!important}

/* Parent home */
.parent-dashboard-hero{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(310px,.72fr);
  gap:16px;
  align-items:stretch;
}
.parent-balance-card{
  position:relative;
  min-height:220px;
  padding:30px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(255,133,73,.23),transparent 32%),
    radial-gradient(circle at 0 0,rgba(111,65,255,.24),transparent 36%),
    linear-gradient(145deg,#102752,#091731)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 22px 65px rgba(0,0,0,.22)!important;
  overflow:hidden;
}
.parent-balance-card::after{
  content:"";
  position:absolute;
  right:-54px;
  bottom:-72px;
  width:210px;
  height:210px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 0 0 28px rgba(255,255,255,.018),0 0 0 58px rgba(255,255,255,.012);
  pointer-events:none;
}
.parent-balance-head{display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:1}
.parent-balance-head>span:first-child{color:#afc4e6;font-size:13px;font-weight:750}
.parent-balance-badge{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);color:#dbe8fc!important;font-size:10px!important;font-weight:850}
.parent-balance-card>strong{position:relative;z-index:1;font-size:clamp(40px,5vw,58px)!important;line-height:1;letter-spacing:-.06em;margin:26px 0 24px!important}
.parent-balance-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px 24px;color:#91a9cd;font-size:11px}
.parent-balance-meta span{display:flex!important;gap:5px;align-items:center}
.parent-balance-meta b{color:#eef5ff;font-weight:850}
.parent-quick-panel{
  min-height:220px;
  padding:22px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025));
  box-shadow:0 18px 50px rgba(0,0,0,.15);
}
.parent-quick-title span{display:block;font-size:15px;font-weight:900;color:#edf4ff}
.parent-quick-title small{display:block;margin-top:5px;color:#8398bb;font-size:10px;line-height:1.45}
.parent-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}
.parent-quick-grid>a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:68px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:17px;
  background:rgba(255,255,255,.035);
  transition:.16s ease;
}
.parent-quick-grid>a:hover{transform:translateY(-1px);background:rgba(255,255,255,.055);border-color:rgba(92,142,255,.18)}
.parent-quick-grid .nav-svg{width:21px;height:21px;color:#79aaff;flex:none}
.parent-quick-grid span{min-width:0}
.parent-quick-grid b,.parent-quick-grid small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.parent-quick-grid b{font-size:11px;color:#eef5ff}
.parent-quick-grid small{margin-top:3px;color:#748bad;font-size:9px}

.parent-section{margin-top:24px}
.parent-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.parent-section-head h2{margin:3px 0 0;font-size:19px;letter-spacing:-.025em}
.parent-section-head>a{color:#8fb8ff;font-size:11px;font-weight:800}
.parent-child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.parent-child-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-height:86px;
  padding:15px 17px!important;
  border-radius:20px!important;
}
.parent-child-card>div:nth-child(2){min-width:0}
.parent-child-card>div:nth-child(2)>b,.parent-child-card>div:nth-child(2)>span,.parent-child-card>div:nth-child(2)>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.parent-child-card>div:nth-child(2)>b{font-size:13px;color:#eef5ff}
.parent-child-card>div:nth-child(2)>span{font-size:10px;color:#869bc0;margin-top:3px}
.parent-child-card>div:nth-child(2)>small{font-size:9px;color:#60789f;margin-top:6px}
.parent-child-card>strong{font-size:16px!important;white-space:nowrap;color:#f3f7ff}
.parent-dashboard-lower{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;margin-top:24px}
.parent-dashboard-lower.single{grid-template-columns:1fr}
.parent-panel{margin:0!important}
.parent-panel .panel-head{align-items:center}
.parent-panel .panel-head h2{margin-top:3px}
.parent-empty{grid-column:1/-1;padding:24px;border:1px dashed rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.02);text-align:center}
.parent-empty b,.parent-empty span{display:block}.parent-empty b{font-size:13px}.parent-empty span{margin-top:5px;color:#7f93b5;font-size:11px;line-height:1.6}
.parent-empty.compact{padding:18px}

/* Other parent pages use a calmer, wider content system. */
.parent-body .panel{border-radius:24px}
.parent-body .account-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.parent-body .account-tile{min-height:84px;padding:14px 16px}
.parent-body .account-detail-head{align-items:flex-start}
.parent-body .table-wrap{border-radius:18px}
.parent-body .goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.parent-body .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.parent-body .activity-item{padding-block:11px}
.parent-body .activity-item>div:nth-child(2){min-width:0}
.parent-body .activity-item b,.parent-body .activity-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.parent-body .activity-item>strong{white-space:nowrap}

/* Profile gets an explicit sign-out area, so logout is never hidden behind navigation. */
.parent-signout-panel{
  border-color:rgba(255,92,118,.13)!important;
  background:linear-gradient(180deg,rgba(255,92,118,.045),rgba(255,255,255,.025))!important;
}
.parent-signout-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.parent-signout-row>div{min-width:0}.parent-signout-row h2{margin:5px 0}.parent-signout-row p{margin:0;line-height:1.6}

@media (max-width:1050px){
  .parent-shell{width:min(100% - 24px,980px)!important}
  .parent-top-inner{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding-inline:18px}
  .parent-brand>span{display:none}
  .parent-desktop-nav a{padding-inline:10px}
  .parent-profile-copy{display:none}
  .parent-profile-chip{padding-right:4px}
  .parent-dashboard-hero{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}
}

/* Tablet and phone use bottom navigation, while desktop keeps stable top navigation. */
@media (max-width:899px){
  .parent-shell{width:100%!important;max-width:none!important;border-inline:0!important}
  .parent-top{height:calc(66px + var(--s-safe-top))!important;padding-top:var(--s-safe-top)!important}
  .parent-top-inner{height:66px;grid-template-columns:minmax(0,1fr) auto;padding:0 14px}
  .parent-brand img{width:136px!important;height:44px!important}
  .parent-brand>span,.parent-desktop-nav,.parent-profile-chip{display:none!important}
  .parent-top-actions{gap:7px}
  .parent-top-actions .notify-btn,.parent-top-actions .parent-logout{width:42px;height:42px;min-height:42px;padding:0;border-radius:13px}
  .parent-top-actions .parent-logout span{display:none}
  .parent-main{min-height:calc(100dvh - 66px - var(--s-safe-top));padding:18px 15px calc(var(--s-mobile-nav) + var(--s-safe-bottom) + 28px)!important}
  .parent-page-head{align-items:center;margin-bottom:17px}
  .parent-page-head .eyebrow{max-width:calc(100vw - 130px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .parent-title{font-size:25px!important}
  .parent-mobile-logout{display:none} /* header logout is always visible */
  .parent-bottom{display:grid!important;position:fixed;left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;max-width:none!important;height:calc(var(--s-mobile-nav) + var(--s-safe-bottom))!important;padding:0 max(6px,var(--s-safe-right)) var(--s-safe-bottom) max(6px,var(--s-safe-left));grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(5,13,29,.965)!important;border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(20px);box-shadow:0 -14px 40px rgba(0,0,0,.2)}
  .parent-bottom a{position:relative;min-width:0;padding:7px 3px;color:#758bad;font-size:9px}
  .parent-bottom a span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .parent-bottom a.active{color:#edf4ff}
  .parent-bottom a.active::before{content:"";position:absolute;top:4px;width:28px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--violet))}
  .parent-dashboard-hero{grid-template-columns:1fr;gap:12px}
  .parent-balance-card{min-height:190px;padding:23px!important;border-radius:26px!important}
  .parent-balance-card>strong{font-size:40px!important;margin:22px 0 21px!important}
  .parent-quick-panel{min-height:0;padding:17px;border-radius:22px}
  .parent-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .parent-quick-grid>a{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:6px;min-height:80px;padding:10px 5px}
  .parent-quick-grid>a span small{display:none}
  .parent-child-grid{grid-template-columns:1fr}
  .parent-dashboard-lower{grid-template-columns:1fr;gap:12px;margin-top:18px}
  .parent-body .account-list,.parent-body .goal-grid,.parent-body .grid-2{grid-template-columns:1fr}
  .parent-signout-row{align-items:flex-start;flex-direction:column}
  .parent-signout-row .btn{width:100%}
}

@media (max-width:599px){
  .parent-main{padding-inline:13px!important}
  .parent-page-head{margin-bottom:14px}
  .parent-page-head .eyebrow{font-size:8px}
  .parent-title{font-size:23px!important}
  .parent-balance-card{min-height:178px;padding:20px!important}
  .parent-balance-head>span:first-child{font-size:11px}
  .parent-balance-card>strong{font-size:35px!important;margin:20px 0!important}
  .parent-balance-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;font-size:9px}
  .parent-balance-meta span{display:block!important}.parent-balance-meta b{display:block;margin-top:2px}
  .parent-quick-title small{display:none}
  .parent-quick-grid>a{min-height:72px;border-radius:15px}
  .parent-quick-grid b{font-size:9px}
  .parent-section{margin-top:19px}
  .parent-section-head h2{font-size:17px}
  .parent-child-card{grid-template-columns:auto minmax(0,1fr);min-height:80px;padding:13px 14px!important}
  .parent-child-card>strong{grid-column:2;justify-self:start;margin-top:-2px;font-size:14px!important}
  .parent-child-card>div:nth-child(2)>small{display:none}
  .parent-body .panel{padding:16px;border-radius:20px}
  .parent-body .panel-head{align-items:center}
  .parent-body .activity-item{grid-template-columns:auto minmax(0,1fr) auto;gap:9px}
  .parent-body .activity-item>strong{font-size:12px}
  .parent-body .search-row{grid-template-columns:minmax(0,1fr) auto!important}
  .parent-body .search-row .btn{width:auto!important;min-width:70px}
}

@media (max-width:374px){
  .parent-top-inner{padding-inline:10px}
  .parent-brand img{width:118px!important}
  .parent-main{padding-inline:10px!important}
  .parent-quick-grid{grid-template-columns:1fr 1fr}
  .parent-balance-meta{grid-template-columns:1fr}
  .parent-bottom a{font-size:8px}
}

/* Form-heavy parent pages: withdrawals, goals, profile and notifications. */
.parent-body .goal-card{border-radius:22px;min-width:0}
.parent-body .goal-card form .btn{width:100%;margin-top:8px}
.parent-body .notification-list{display:grid;gap:9px}
.parent-body .notification-item{border-radius:17px;padding:14px}
.parent-body .metric-item .left{min-width:0}
.parent-body .metric-item .left>div:last-child{min-width:0}
.parent-body .metric-item b,.parent-body .metric-item span{overflow-wrap:anywhere}
.parent-body .quick-actions form{min-width:0}
.parent-body .quick-actions form input[type="password"]{width:100%;min-height:44px;margin-bottom:7px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#09152b;color:#fff;padding:10px 12px}
.parent-body .quick-actions form .btn{min-height:44px}
.parent-body .account-meta{display:flex;flex-wrap:wrap;gap:7px 10px;align-items:center}
.parent-body .account-meta>span{min-width:0;overflow-wrap:anywhere}

@media(max-width:899px){
  .parent-body .panel-head{gap:10px;flex-wrap:wrap}
  .parent-body .panel-head>.btn,.parent-body .panel-head>form{flex:none}
  .parent-body .grid.grid-2{grid-template-columns:1fr!important}
  .parent-body .hero-mini{padding:18px;border-radius:22px}
}

@media(max-width:599px){
  .parent-body .quick-actions{grid-template-columns:1fr 1fr!important}
  .parent-body .quick-actions form{width:100%;display:block}
  .parent-body .quick-actions form .btn{width:100%!important}
  .parent-body .goal-card{padding:17px}
  .parent-body .goal-card h3{font-size:18px}
  .parent-body .goal-card>strong{font-size:25px}
  .parent-body .notification-item{align-items:flex-start}
}
