/* UFRCT Member Portal Modern Refresh — visual only */
:root{--uf-blue:#075d8b;--uf-blue2:#087eaa;--uf-green:#3f9b35;--uf-red:#df3b2d;--uf-orange:#e58a1b;--uf-bg:#f4f8fb;--uf-text:#17324d;--uf-muted:#6d7f8b;--uf-shadow:0 10px 30px rgba(15,54,80,.08)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:linear-gradient(180deg,#f2f7fa,#f9fcfd);color:var(--uf-text);-webkit-font-smoothing:antialiased}
.header{min-height:72px;padding:11px 24px!important;background:linear-gradient(135deg,#063b67,#087eaa)!important;box-shadow:0 8px 28px rgba(5,47,85,.20)!important;position:sticky!important;top:0;z-index:1100}
.logo{width:50px!important;height:50px!important;filter:drop-shadow(0 5px 10px rgba(0,0,0,.15))}
.brand h1{font-size:20px!important}
.brand p{font-size:10px!important;letter-spacing:.45px!important}
.header-actions{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
.header-actions::-webkit-scrollbar{display:none}
.header-btn{border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.12)!important;border-radius:10px!important;padding:9px 12px!important;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.header-btn:hover{background:rgba(255,255,255,.20)!important;transform:translateY(-1px)}
.header-btn.logout{background:#df3b2d!important}
.container{max-width:1280px!important;width:94%!important;margin:22px auto!important}
.alert{border-radius:13px!important;box-shadow:0 7px 20px rgba(0,0,0,.05)}
.welcome{border-radius:20px!important;box-shadow:0 14px 36px rgba(7,93,139,.11)!important;border:1px solid rgba(7,93,139,.08)!important;overflow:hidden}
.summary-grid{gap:15px!important}
.summary-card{border:1px solid rgba(7,93,139,.08)!important;border-radius:16px!important;box-shadow:var(--uf-shadow)!important;background:rgba(255,255,255,.97)!important;transition:.22s}
.summary-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(15,54,80,.12)!important}
.summary-number{font-size:28px!important}
.section-title{letter-spacing:-.2px}
.message,.no-message,.general-payment-box,.history-box,.profile,.payment-box{border:1px solid rgba(7,93,139,.07)!important;border-radius:16px!important;box-shadow:var(--uf-shadow)!important;background:rgba(255,255,255,.97)!important}
.message{border-left:4px solid var(--uf-blue)!important}
.tasks-grid{gap:17px!important}
.task-card{border:1px solid #e0ebf0!important;border-radius:17px!important;box-shadow:var(--uf-shadow)!important;background:#fff!important;transition:.22s}
.task-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(15,54,80,.12)!important}
.progress{border-radius:999px!important;overflow:hidden}
.progress-bar{border-radius:999px!important}
.form-grid{gap:15px!important}
.field label{font-weight:700!important;color:#35566b!important}
input,textarea,select{border-radius:11px!important;border:1px solid #d5e2e8!important;background:#fbfdfe!important;transition:.2s}
input:focus,textarea:focus,select:focus{outline:none!important;border-color:#087eaa!important;box-shadow:0 0 0 4px rgba(8,126,170,.10)!important;background:#fff!important}
.btn{border-radius:10px!important;box-shadow:0 6px 15px rgba(0,0,0,.08);transition:.2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(0,0,0,.12)}
.history-box{overflow:hidden}
.proof-thumb{border-radius:10px!important;box-shadow:0 6px 16px rgba(0,0,0,.10)}
.profile .row{border-bottom:1px solid #e8eef2!important;padding:12px 0!important}
.profile .row:last-child{border-bottom:0!important}
.footer{border-radius:18px 18px 0 0!important;background:linear-gradient(135deg,#042b4d,#063b67)!important;box-shadow:0 -8px 28px rgba(5,47,85,.08)}
@media(max-width:800px){
  .header{padding:10px 14px!important;align-items:center!important}
  .brand h1{font-size:18px!important}
  .brand p{font-size:9px!important}
  .header-actions{max-width:52vw}
  .container{width:94%!important;margin:17px auto!important}
  .summary-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:500px){
  html{scroll-padding-top:115px}
  .header{flex-direction:column!important;align-items:stretch!important}
  .header-actions{max-width:none;width:100%}
  .logo-area{gap:9px!important}
  .summary-grid{grid-template-columns:1fr!important}
  .welcome{border-radius:15px!important}
  .section-title{font-size:19px!important}
  .task-card{border-radius:14px!important}
  .profile .row{grid-template-columns:1fr!important;gap:4px!important}
}

/* =========================================================
   UFRCT V3 — MEMBER APP EXPERIENCE
   Visual-only layer: no PHP/database/function changes.
========================================================= */
body{background:radial-gradient(circle at 0 0,rgba(8,126,170,.08),transparent 25%),linear-gradient(180deg,#f1f6f9,#f9fcfd 45%,#eef5f8)}
.header{min-height:76px!important;box-sizing:border-box}
.header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#3f9b35,#ffd21b,#df3b2d);opacity:.85}
.logo-area{min-width:0}
.brand{min-width:0}
.brand h1{font-weight:850!important;letter-spacing:-.25px}
.header-actions{padding-bottom:1px}
.header-btn{font-weight:700!important;transition:all .2s ease!important}
.header-btn:hover{transform:translateY(-2px)!important}
.container{max-width:1320px!important}
.alert{border-left-width:4px!important}
.welcome{position:relative;background:linear-gradient(135deg,#ffffff 0%,#f3f9fc 100%)!important}
.welcome:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-55px;top:-65px;background:rgba(8,126,170,.06);pointer-events:none}
.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.summary-card{position:relative;overflow:hidden!important;padding:20px!important}
.summary-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#075d8b,#087eaa)}
.summary-card:nth-child(2):before{background:linear-gradient(90deg,#3f9b35,#68b85c)}
.summary-card:nth-child(3):before{background:linear-gradient(90deg,#e58a1b,#f0b13e)}
.summary-card:nth-child(4):before{background:linear-gradient(90deg,#df3b2d,#ef6b5f)}
.summary-number{font-weight:850!important;letter-spacing:-.7px}
.section-title{font-weight:850!important}
.message,.history-box,.profile,.payment-box,.general-payment-box{overflow:hidden!important}
.message-item{transition:background .2s ease,transform .2s ease}
.message-item:hover{background:#f6fbfd!important;transform:translateX(2px)}
.message-pill{border-radius:999px!important;font-weight:700!important}
.tasks-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.task-card{position:relative;overflow:hidden!important}
.task-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#075d8b,#087eaa);opacity:.85}
.task-top{align-items:flex-start!important}
.payment-option{transition:transform .2s,box-shadow .2s,border-color .2s}
.payment-option:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,54,80,.08);border-color:#b9d5e2!important}
.profile .row{transition:background .2s;padding-left:10px!important;padding-right:10px!important;border-radius:9px}
.profile .row:hover{background:#f5fafc}
.footer{margin-top:28px!important}
@media(max-width:1000px){
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tasks-grid{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  .header{min-height:68px!important;padding:9px 12px!important}
  .logo{width:45px!important;height:45px!important}
  .brand h1{font-size:17px!important}
  .brand p{display:none}
  .header-actions{gap:6px!important}
  .header-btn{padding:8px 10px!important;font-size:11px!important}
  .container{width:calc(100% - 20px)!important;margin:12px auto!important}
  .welcome{border-radius:15px!important}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .summary-card{padding:15px!important;border-radius:14px!important}
  .summary-number{font-size:24px!important}
  .section-title{font-size:18px!important}
  .message,.history-box,.profile,.payment-box,.general-payment-box{border-radius:14px!important}
  .task-card{border-radius:14px!important}
}
@media(max-width:390px){
  .summary-grid{grid-template-columns:1fr!important}
  .header-actions .header-btn{padding:7px 8px!important;font-size:10px!important}
}
