*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f7fb;color:#182230}.nav{height:64px;background:#123b70;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6%;gap:20px}.nav a{color:#fff;text-decoration:none;margin-left:18px}.container{max-width:1000px;margin:35px auto;padding:0 20px}.card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 5px 20px #00000012;margin-bottom:20px}.form{max-width:480px;margin:60px auto}.form input,.form select{width:100%;padding:12px;margin:8px 0 15px;border:1px solid #ccd4df;border-radius:7px}.btn{display:inline-block;border:0;background:#123b70;color:#fff;padding:11px 18px;border-radius:7px;text-decoration:none;cursor:pointer}.btn.secondary{background:#607080}.error{background:#ffe4e4;color:#a40000;padding:10px;border-radius:7px}.success{background:#e2f7e8;color:#176b2b;padding:10px;border-radius:7px}footer{text-align:center;color:#667;margin:50px 0 20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.muted{color:#687586}h1,h2{margin-top:0}
.table-card{overflow:hidden}.table-wrap{overflow-x:auto}.user-table{width:100%;border-collapse:collapse;font-size:14px}.user-table th,.user-table td{padding:12px 10px;border-bottom:1px solid #e5e9ef;text-align:left;vertical-align:middle}.user-table th{background:#f7f9fc;white-space:nowrap}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{margin:0}.btn.small{padding:7px 10px;font-size:12px}.btn.warning{background:#9a6a00}.btn.danger{background:#a40000}.badge{display:inline-block;padding:5px 8px;border-radius:20px;font-size:12px;font-weight:bold}.status-active{background:#e2f7e8;color:#176b2b}.status-inactive{background:#ffe4e4;color:#a40000}.role-admin{background:#e5edff;color:#16468c}.role-user{background:#edf0f4;color:#465466}.stat{font-size:32px;font-weight:700;margin:0}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn.danger{background:#b42318}.btn.secondary{background:#475467}

/* Professional responsive sidebar layout */
body{background:#f5f7fb;color:#182230}.app-shell{min-height:100vh;display:flex}.sidebar{width:255px;background:#0d2f59;color:#fff;position:fixed;left:0;top:0;bottom:0;display:flex;flex-direction:column;z-index:100;box-shadow:4px 0 18px rgba(0,0,0,.08)}.brand{height:76px;padding:0 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:40px;height:40px;border-radius:11px;background:#fff;color:#0d2f59;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}.brand strong{display:block;font-size:18px}.brand span{display:block;font-size:11px;color:#b9c9dd;margin-top:2px}.user-mini{margin:18px 14px;padding:12px;background:rgba(255,255,255,.08);border-radius:12px;display:flex;align-items:center;gap:10px}.user-mini strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.user-mini small{display:block;color:#b9c9dd;margin-top:3px}.avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#dce8f8;color:#0d2f59;display:flex;align-items:center;justify-content:center;font-weight:800}.avatar.small{width:34px;height:34px;flex-basis:34px}.side-nav{padding:4px 12px;overflow:auto}.side-nav a{display:flex;align-items:center;gap:12px;color:#dce7f5;text-decoration:none;padding:11px 12px;border-radius:9px;margin:3px 0;font-size:14px;transition:.15s}.side-nav a span{width:20px;text-align:center;font-size:16px}.side-nav a:hover,.side-nav a.active{background:#fff;color:#0d2f59}.nav-label{font-size:10px;letter-spacing:1px;color:#8fa8c5;padding:18px 12px 6px;font-weight:700}.sidebar-bottom{margin-top:auto;padding:14px 12px;border-top:1px solid rgba(255,255,255,.1)}.logout-link{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;padding:11px 12px;border-radius:9px}.logout-link:hover{background:rgba(255,255,255,.1)}.main-area{margin-left:255px;width:calc(100% - 255px);min-height:100vh}.topbar{height:76px;background:#fff;border-bottom:1px solid #e5eaf0;display:flex;align-items:center;gap:14px;padding:0 30px;position:sticky;top:0;z-index:50}.topbar>div{flex:1}.topbar strong{display:block;font-size:17px}.topbar span:not(.avatar){display:block;color:#7a8797;font-size:12px;margin-top:3px}.top-profile{color:inherit;text-decoration:none}.menu-toggle{display:none;border:0;background:#edf2f8;border-radius:8px;padding:9px 11px;font-size:18px;cursor:pointer}.simple-header{height:64px;background:#0d2f59;color:#fff;padding:0 6%;display:flex;align-items:center}.container{max-width:none;margin:0;padding:30px}.main-area .container{max-width:1400px}.main-area .card{border:1px solid #e7ebf0;box-shadow:0 4px 16px rgba(16,24,40,.05)}footer{margin-left:255px;padding:0 20px 20px}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:250px}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0;width:100%}.menu-toggle{display:block}footer{margin-left:0}.topbar{padding:0 16px}.container{padding:20px}}

/* Smart dashboard home */
.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:800;color:#52729a;margin-bottom:5px}.dashboard-head h1{font-size:30px;margin-bottom:5px}.dashboard-stats{margin-bottom:20px}.stat-card{position:relative;overflow:hidden;min-height:150px}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-28px;top:-28px;background:#edf4fc}.stat-label{display:block;color:#667085;font-size:13px;margin-bottom:8px;position:relative;z-index:1}.stat-card .stat{display:block;font-size:34px;line-height:1.1;position:relative;z-index:1}.stat-note{display:block;color:#98a2b3;font-size:12px;margin-top:10px;position:relative;z-index:1}.success-number{color:#18794e}.warning-number{color:#9a6700}.status-text{font-size:25px!important;color:#18794e}.dashboard-two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.section-head h2{margin-bottom:4px}.small-text{font-size:12px}.quick-card h2{margin-bottom:12px}.quick-action{display:flex;align-items:center;gap:12px;padding:12px 10px;border:1px solid #edf0f4;border-radius:10px;text-decoration:none;color:#182230;margin:9px 0;transition:.15s}.quick-action:hover{background:#f7faff;border-color:#dce7f5;transform:translateY(-1px)}.quick-action>span{width:38px;height:38px;border-radius:10px;background:#edf4fc;display:flex;align-items:center;justify-content:center}.quick-action strong{display:block;font-size:13px}.quick-action small{display:block;color:#7a8797;margin-top:3px}.profile-summary{display:flex;align-items:center;gap:15px;padding:12px 0}.avatar.large{width:56px;height:56px;flex-basis:56px;font-size:21px}.profile-summary h3{margin:0 0 5px}@media(max-width:900px){.dashboard-two-col{grid-template-columns:1fr}}@media(max-width:600px){.dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-head .btn{width:100%;text-align:center}.dashboard-head h1{font-size:25px}}

/* Rulapay Smart Sidebar v2 */
.sidebar{width:270px;background:linear-gradient(180deg,#0b2445 0%,#102f55 58%,#0a213e 100%);border-right:1px solid rgba(255,255,255,.08)}
.brand{height:78px;padding:0 18px}.brand-mark{width:42px;height:42px;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.brand strong{font-size:19px;letter-spacing:.1px}.brand span{font-size:10px;text-transform:uppercase;letter-spacing:1.1px}
.user-mini{margin:16px 12px;padding:13px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.07);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.side-nav{padding:0 10px}.nav-label{padding:16px 12px 7px;font-size:9px;letter-spacing:1.4px;color:#8fa9c8}
.side-nav a{padding:12px 13px;border-radius:10px;color:#dce8f7;margin:4px 0;font-weight:600}
.side-nav a span{font-size:17px}.side-nav a:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}
.side-nav a.active{background:linear-gradient(90deg,#fff,#eef5ff);color:#0b2b51;box-shadow:0 7px 18px rgba(0,0,0,.12)}
.sidebar-bottom{padding:14px 10px}.logout-link{font-weight:600;color:#e8f0fa}.logout-link:hover{background:rgba(255,255,255,.1)}
.main-area{margin-left:270px;width:calc(100% - 270px);background:#f6f8fc}.topbar{height:78px;padding:0 30px;box-shadow:0 1px 0 rgba(16,24,40,.02)}
.container{padding:32px}.sidebar-close{display:none}.sidebar-overlay{display:none}
@media(max-width:900px){
 .sidebar{transform:translateX(-105%);transition:transform .25s ease;box-shadow:12px 0 35px rgba(0,0,0,.22)}
 .sidebar.open{transform:translateX(0)}
 .sidebar-close{display:block;margin-left:auto;border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:8px;width:32px;height:32px;font-size:24px;line-height:1;cursor:pointer}
 .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(7,20,36,.45);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s;z-index:90}
 .sidebar-overlay.show{opacity:1;pointer-events:auto}
 .main-area{margin-left:0;width:100%}.menu-toggle{display:block;position:relative;z-index:60}
 .topbar{padding:0 18px}.container{padding:22px}
}
@media(max-width:520px){.topbar{height:68px}.topbar strong{font-size:15px}.container{padding:16px}.user-mini{margin:14px 10px}.brand{padding:0 15px}}


/* Top-right user photo/profile menu */
.top-users-btn{display:inline-flex;align-items:center;gap:7px;text-decoration:none;background:#eef4fb;color:#0b2f57;border:1px solid #dbe6f2;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700;margin-right:4px}.top-users-btn:hover{background:#e4edf8}.profile-menu{position:relative}.top-profile{display:flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;padding:4px 5px;border-radius:12px;color:#182230}.top-profile:hover{background:#f1f5f9}.top-profile-name{font-size:13px;font-weight:700;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{font-size:16px;color:#718096}.profile-dropdown{display:none;position:absolute;right:0;top:calc(100% + 9px);width:205px;background:#fff;border:1px solid #e4e9ef;border-radius:12px;box-shadow:0 14px 35px rgba(16,24,40,.14);padding:7px;z-index:200}.profile-menu.open .profile-dropdown{display:block}.profile-dropdown a{display:flex;align-items:center;gap:9px;text-decoration:none;color:#263447;padding:10px 11px;border-radius:8px;font-size:13px}.profile-dropdown a:hover{background:#f4f7fb}.profile-dropdown .drop-logout{color:#b42318;border-top:1px solid #eef1f5;margin-top:5px;border-radius:0;padding-top:12px}.avatar-img{display:block;object-fit:cover;border-radius:50%;background:#dce8f8}.avatar-img.small{width:34px;height:34px;flex:0 0 34px}.avatar-img.large{width:56px;height:56px;flex:0 0 56px}.profile-photo-upload{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding:14px;background:#f7f9fc;border:1px solid #e8edf3;border-radius:12px}.profile-photo-upload input{margin:0!important;padding:8px!important}.photo-help{font-size:11px;color:#7a8797;margin-top:5px}@media(max-width:600px){.top-profile-name,.top-users-btn span{display:none}.top-users-btn{padding:8px 10px}.profile-dropdown{right:-4px}}

/* Profile dropdown reliability fix */
.topbar > div:first-of-type{flex:1;min-width:0}.topbar .profile-menu{flex:0 0 auto;position:relative;z-index:500}.topbar .top-profile{position:relative;z-index:501}.topbar .profile-dropdown{display:none!important;position:absolute;right:0;top:calc(100% + 10px);min-width:230px;max-width:calc(100vw - 24px);background:#fff!important;color:#263447!important;border:1px solid #dfe6ee;border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.20);padding:8px;z-index:9999!important;opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.topbar .profile-menu.open .profile-dropdown{display:block!important;opacity:1;visibility:visible;transform:translateY(0)}.topbar .profile-dropdown a{display:flex!important;align-items:center;gap:10px;width:100%;box-sizing:border-box;color:#263447!important;background:transparent;text-decoration:none;padding:11px 12px;border-radius:9px;font-size:13px}.topbar .profile-dropdown a:hover{background:#f2f6fb!important}.topbar .profile-dropdown .drop-logout{color:#b42318!important;border-top:1px solid #edf1f5;margin-top:5px;padding-top:12px}
@media(max-width:600px){.topbar .profile-dropdown{right:0;min-width:220px}}
/* Rulapay branding */
.sidebar .brand{display:flex;align-items:center;min-height:58px}
.sidebar .rulapay-logo{width:190px;height:auto;display:block;max-width:100%}

/* Updated Rulapay logo */
.sidebar .brand{justify-content:center;padding:10px 16px;height:92px}
.sidebar .rulapay-logo{width:72px;height:72px;object-fit:contain;border-radius:16px}
