/* IVA sessions unified green/brown interface — v11.2 */
:root{
  --navy:#173f3d;
  --navy-light:#24645e;
  --gold:#c56c49;
  --gold-dark:#9b4e34;
  --bg:#fbf7ef;
  --white:#fffdf9;
  --text:#173132;
  --text-muted:#5f7471;
  --border:#ded9cf;
  --success:#2d735e;
  --danger:#a13d3d;
  --warning:#9a641d;
  --shadow:0 10px 32px rgba(23,63,61,.09);
  --radius:14px;
}
html{overflow-x:hidden}
body{min-width:320px;background:var(--bg);color:var(--text);overflow-wrap:anywhere}
a{transition:color .18s,background .18s,border-color .18s,transform .18s}
input,select,textarea,.form-control{max-width:100%;background:#fff!important;color:var(--text)!important;border-color:var(--border)!important}
input::placeholder,textarea::placeholder{color:#84928f!important;opacity:1}
input:focus,select:focus,textarea:focus,.form-control:focus{border-color:var(--navy-light)!important;box-shadow:0 0 0 3px rgba(36,100,94,.13)!important}
input[type="checkbox"],input[type="radio"]{accent-color:var(--navy-light)}
.login-wrapper,.pay-wrapper,.reg-wrapper{background:linear-gradient(135deg,#123936 0%,#24645e 100%)!important}
.login-card,.pay-card,.reg-card{background:var(--white)!important;border-top-color:var(--gold)!important;box-shadow:0 24px 65px rgba(12,46,43,.28)!important}
.login-logo h1,.login-logo .badge{color:var(--navy)!important}
.login-logo .badge{background:var(--gold)!important;color:#fff!important}
.pay-header,.reg-header{background:var(--navy)!important}
.pay-header .logo,.reg-header h1{color:#f4e3dc!important}
.btn-primary,.btn-navy,.menu-toggle{background:var(--navy)!important;color:#fff!important}
.btn-primary:hover,.btn-navy:hover,.menu-toggle:hover{background:var(--navy-light)!important}
.btn-gold,.btn-pay,.logout-btn{background:var(--gold)!important;color:#fff!important}
.btn-gold:hover,.btn-pay:hover,.logout-btn:hover{background:var(--gold-dark)!important}
.layout{background:var(--bg)}
.sidebar{background:linear-gradient(180deg,#123936 0%,#173f3d 100%)!important}
.sidebar-brand{border-color:rgba(255,255,255,.13)!important}
.sidebar-brand h1{color:#f4e3dc!important}
.sidebar-brand span{color:rgba(255,255,255,.76)!important}
.menu-item{color:rgba(255,255,255,.88)!important}
.menu-item:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
.menu-item.active{background:var(--gold)!important;color:#fff!important;box-shadow:0 8px 22px rgba(90,44,30,.22)}
.sidebar-footer{border-color:rgba(255,255,255,.13)!important}
.logout-link{color:rgba(255,255,255,.82)!important}
.logout-link:hover{color:#f4e3dc!important}
.main-content,.content-area{background:var(--bg)!important;color:var(--text)}
.topbar{background:rgba(255,253,249,.98)!important;border-bottom:1px solid var(--border);box-shadow:0 4px 18px rgba(23,63,61,.06)!important;color:var(--text)!important}
.topbar-title h2,.topbar-user .user-name,.card-header h3,.stat-card .stat-value,.notif-item .n-title{color:var(--navy)!important}
.topbar-user .user-role,.stat-card .stat-label,.notif-item .n-text,.notif-item .n-time{color:var(--text-muted)!important}
.card,.stat-card,.welcome-card{background:var(--white)!important;border:1px solid var(--border);box-shadow:var(--shadow)!important}
.card-header{border-color:var(--border)!important;background:#fffdf9}
.stat-card{border-right-color:var(--gold)!important}
.card-body{color:var(--text)}
.table-wrap{border:1px solid var(--border);border-radius:12px;background:#fff;overflow-x:auto;-webkit-overflow-scrolling:touch}
table.data-table{background:#fff;color:var(--text)}
table.data-table th{background:#e4efed!important;color:var(--navy)!important;border-color:var(--border)!important}
table.data-table td{color:var(--text)!important;border-color:var(--border)!important;background:#fff}
table.data-table tbody tr:nth-child(even) td{background:#fcfdfc}
table.data-table tr:hover td{background:#f1f7f5!important}
.form-group label{color:var(--text)!important}
.search-bar input{background:#fff!important}
.btn-ghost{background:#eef5f3!important;color:var(--navy)!important}
.btn-ghost:hover{background:#dcece8!important}
.badge-old{background:#e4efed!important;color:var(--navy)!important}
.badge-new,.badge-paid,.flash-success,.alert-success{background:#e8f5ef!important;color:#235f4f!important}
.badge-unpaid,.flash-error,.alert-danger{background:#fff0ef!important;color:#8f3737!important}
.badge-partial{background:#fff6e8!important;color:#865914!important}
.pay-choice:has(input:checked){border-color:var(--navy)!important;background:#eef5f3!important}
.notif-item:hover{background:#f2f8f6!important}.notif-item.unread{background:#fff4ea!important}
.amount-box{background:#f3f8f6!important}.amount-box .amount{color:var(--navy)!important}
.role-tag{background:var(--navy)!important;color:#fff!important}
.status-ok{background:#e8f5ef!important;color:#235f4f!important}

@media(max-width:1024px){.content-area{padding:20px!important}}
@media(max-width:768px){
  .topbar{padding:10px 12px!important;gap:8px}
  .topbar-title{min-width:0}.topbar-title h2{font-size:17px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}
  .topbar-user .user-name{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .content-area{padding:12px!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .stat-card{padding:14px!important;min-width:0}.stat-card .stat-value{font-size:22px!important}
  .card{border-radius:12px!important;margin-bottom:14px!important}.card-header,.card-body{padding:15px!important}
  .form-row{grid-template-columns:1fr!important;gap:12px!important}
  .form-actions,.search-bar{flex-direction:column!important;align-items:stretch!important}
  .form-actions>* ,.search-bar>*{width:100%!important}
  .btn,.btn-sm,.btn-lg{min-height:46px!important;width:100%;display:inline-flex;align-items:center;justify-content:center}
  .table-wrap{margin-inline:-2px}.data-table{display:table!important;min-width:760px;white-space:normal!important}
  .pay-wrapper,.reg-wrapper{padding:16px!important;align-items:flex-start!important}
  .pay-card,.reg-card{border-radius:14px!important}.pay-body,.reg-body,.pay-header,.reg-header{padding:22px!important}
  .login-card{padding:30px 22px!important;border-radius:16px!important}
  .amount-box .amount{font-size:34px!important}
}
@media(max-width:420px){
  .stats-grid{grid-template-columns:1fr!important}
  .topbar-user .user-role{display:none}.notif-bell{width:38px;height:38px}
  .sidebar{width:min(86vw,290px)!important}
}


/* v11.2 horizontal brand and final text contrast */
.sidebar-brand{padding:18px 14px!important;text-align:center}
.sessions-brand-logo{display:block;width:100%;max-width:225px;height:72px;object-fit:contain;margin:0 auto 8px;background:#fff;border-radius:12px;padding:8px 10px}
.sidebar-brand span{display:block;color:#f7f1e8!important;font-size:12px;font-weight:700}
.sessions-login-logo,.sessions-public-logo{display:block;width:min(100%,320px);height:auto;max-height:92px;object-fit:contain;margin:0 auto 12px;background:#fff;border-radius:13px;padding:9px 12px}
.login-logo h1{display:none}
.main-content :where(h1,h2,h3,h4,h5,strong,dt,dd,label,p,span,small,li){opacity:1}
.content-area :where(h1,h2,h3,h4,h5,strong){color:#173132}
.content-area :where(p,li,dd,label,small){color:#425c59}
.topbar :where(h1,h2,h3,strong,span){opacity:1}
.card,.panel,.form-card,.invoice-card,.report-card{color:#173132!important;background:#fffdf9!important;border-color:#ded9cf!important}
.card :where(h1,h2,h3,h4,strong),.panel :where(h1,h2,h3,h4,strong){color:#173132!important}
.card :where(p,span,small,li,td),.panel :where(p,span,small,li,td){color:#425c59}
table th{color:#173f3d!important;background:#e4efed!important}
table td{color:#173132!important;background:#fff!important}
.alert,.flash-message{opacity:1!important}
@media(max-width:768px){
 .sessions-brand-logo{max-width:195px;height:62px}
 .sidebar-brand{padding:14px 10px!important}
 .sessions-login-logo,.sessions-public-logo{max-width:255px;max-height:76px}
}
