/*
 * UI polish layer for epay admin/user pages.
 * Scope: presentation only. No payment/API/order logic is changed.
 */
:root{
  --epay-primary:#2563eb;
  --epay-primary-2:#06b6d4;
  --epay-dark:#0f172a;
  --epay-sidebar:#111827;
  --epay-sidebar-2:#0b1220;
  --epay-bg:#f3f6fb;
  --epay-card:#ffffff;
  --epay-border:#e5e7eb;
  --epay-muted:#64748b;
  --epay-danger:#ef4444;
  --epay-success:#10b981;
  --epay-warning:#f59e0b;
  --epay-radius:16px;
  --epay-shadow:0 12px 30px rgba(15,23,42,.08);
  --epay-shadow-sm:0 6px 18px rgba(15,23,42,.06);
}
html,body{min-height:100%;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;color:#1f2937;background:var(--epay-bg);}
a{color:var(--epay-primary);}
a:hover{color:#1d4ed8;text-decoration:none;}

/* shared polish */
.panel{border:0;border-radius:var(--epay-radius);box-shadow:var(--epay-shadow-sm);overflow:hidden;background:var(--epay-card);}
.panel-heading{border:0!important;background:linear-gradient(135deg,#ffffff,#f8fafc)!important;color:#111827!important;padding:16px 18px;}
.panel-title{font-weight:700;letter-spacing:.2px;}
.panel-body{padding:20px;}
.panel-footer{border-top:1px solid var(--epay-border);background:#f8fafc;padding:14px 18px;}
.list-group-item{border-color:#edf1f7;padding:13px 16px;}
.table{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:0;}
.table>thead>tr>th{background:#f8fafc;color:#475569;border-bottom:1px solid #e5e7eb;font-weight:700;white-space:nowrap;}
.table>tbody>tr>td{vertical-align:middle;border-top:1px solid #eef2f7;}
.table-striped>tbody>tr:nth-of-type(odd){background-color:#fbfdff;}
.table-hover>tbody>tr:hover,.table>tbody>tr:hover{background:#eff6ff;}
.table-responsive{border:0;border-radius:14px;box-shadow:inset 0 0 0 1px #eef2f7;background:#fff;}
.form-control{border-radius:10px;border-color:#dbe3ef;box-shadow:none;min-height:36px;}
.form-control:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.input-group-addon{border-color:#dbe3ef;background:#f8fafc;color:#64748b;border-radius:10px;}
.btn{border-radius:10px;border:0;font-weight:600;box-shadow:0 4px 12px rgba(15,23,42,.08);transition:all .18s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.12);}
.btn-xs,.btn-sm{border-radius:8px;}
.btn-primary,.btn-info{background:linear-gradient(135deg,var(--epay-primary),var(--epay-primary-2))!important;border:0!important;color:#fff!important;}
.btn-success{background:linear-gradient(135deg,#10b981,#22c55e)!important;border:0!important;color:#fff!important;}
.btn-danger{background:linear-gradient(135deg,#ef4444,#f97316)!important;border:0!important;color:#fff!important;}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#f97316)!important;border:0!important;color:#fff!important;}
.btn-default{background:#fff;border:1px solid #e5e7eb!important;color:#334155!important;}
.label{border-radius:999px;padding:.35em .7em;}
.alert{border:0;border-radius:14px;box-shadow:var(--epay-shadow-sm);}
.modal-content{border:0;border-radius:18px;box-shadow:0 28px 60px rgba(15,23,42,.22);overflow:hidden;}
.modal-header{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:0;}
.modal-footer{background:#f8fafc;border:0;}
.pagination>li>a,.pagination>li>span{border-color:#e5e7eb;color:#475569;margin:0 2px;border-radius:9px!important;}
.pagination>.active>a,.pagination>.active>span{background:var(--epay-primary);border-color:var(--epay-primary);}
.bootstrap-table .fixed-table-toolbar .search input{border-radius:10px;}
.fixed-table-container{border:0;border-radius:14px;overflow:hidden;}
.fixed-table-toolbar .btn-group>.btn{margin-right:4px;}

/* admin layout: move menu from top to left */
body.epay-admin-layout{padding-left:264px;padding-top:0!important;background:radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 32%),var(--epay-bg);}
body.epay-admin-layout>.navbar.navbar-fixed-top{position:fixed;left:0;top:0;bottom:0;right:auto;width:264px;height:100vh;margin:0;border:0;border-radius:0;background:linear-gradient(180deg,var(--epay-sidebar),var(--epay-sidebar-2));box-shadow:12px 0 32px rgba(15,23,42,.16);overflow-y:auto;overflow-x:hidden;z-index:1030;}
body.epay-admin-layout>.navbar .container{width:100%;padding:0;margin:0;}
body.epay-admin-layout>.navbar .navbar-header{float:none;width:100%;min-height:72px;padding:0;border-bottom:1px solid rgba(255,255,255,.08);}
body.epay-admin-layout>.navbar .navbar-brand{display:block;float:none;width:100%;height:72px;line-height:72px;padding:0 22px;color:#fff!important;font-size:18px;font-weight:800;letter-spacing:.5px;background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(6,182,212,.92));}
body.epay-admin-layout>.navbar .navbar-brand:before{content:"\f1d8";font-family:FontAwesome;margin-right:10px;font-weight:400;}
body.epay-admin-layout>.navbar .navbar-collapse{padding:14px 12px 24px;border:0;box-shadow:none;max-height:none!important;}
body.epay-admin-layout>.navbar .navbar-nav{float:none!important;margin:0!important;width:100%;}
body.epay-admin-layout>.navbar .navbar-nav>li{float:none!important;display:block;margin:4px 0;}
body.epay-admin-layout>.navbar .navbar-nav>li>a{color:#cbd5e1!important;border-radius:12px;padding:12px 14px;font-weight:650;letter-spacing:.2px;line-height:20px;transition:all .18s ease;}
body.epay-admin-layout>.navbar .navbar-nav>li>a i{width:22px;text-align:center;margin-right:8px;color:#93c5fd;}
body.epay-admin-layout>.navbar .navbar-nav>li>a:hover,
body.epay-admin-layout>.navbar .navbar-nav>li.open>a,
body.epay-admin-layout>.navbar .navbar-nav>li.active>a{background:rgba(255,255,255,.10)!important;color:#fff!important;}
body.epay-admin-layout>.navbar .navbar-nav>li.active>a{box-shadow:inset 3px 0 0 #38bdf8;}
body.epay-admin-layout>.navbar .caret{float:right;margin-top:8px;border-top-color:#94a3b8;border-bottom-color:#94a3b8;}
body.epay-admin-layout>.navbar .dropdown-menu{position:static!important;float:none;width:100%;min-width:0;margin:3px 0 8px;padding:6px;background:rgba(15,23,42,.42);border:1px solid rgba(255,255,255,.06);border-radius:12px;box-shadow:none;}
body.epay-admin-layout>.navbar .navbar-nav>li.active>.dropdown-menu{display:block;}
body.epay-admin-layout>.navbar .dropdown-menu>li>a{color:#aebbd0!important;border-radius:9px;padding:9px 13px 9px 42px;line-height:20px;white-space:normal;}
body.epay-admin-layout>.navbar .dropdown-menu>li>a:before{content:"";display:inline-block;width:6px;height:6px;margin:0 9px 1px -15px;border-radius:50%;background:#38bdf8;opacity:.75;}
body.epay-admin-layout>.navbar .dropdown-menu>li>a:hover{background:rgba(37,99,235,.20)!important;color:#fff!important;}
body.epay-admin-layout>.navbar .divider{background:rgba(255,255,255,.08);}
body.epay-admin-layout>.container{width:100%!important;max-width:1540px;padding:24px 26px 40px!important;margin:0 auto!important;}
body.epay-admin-layout .center-block{float:none!important;}
body.epay-admin-layout .img-thumbnail{border:3px solid #e0f2fe;box-shadow:0 10px 24px rgba(37,99,235,.12);}
body.epay-admin-layout h3,body.epay-admin-layout .h3{font-weight:800;}
body.epay-admin-layout .well{border:0;border-radius:16px;background:#fff;box-shadow:var(--epay-shadow-sm);}
body.epay-admin-layout dl{margin-bottom:12px;}
body.epay-admin-layout .input-datepicker,body.epay-admin-layout .input-daterange input{background:#fff;}

/* admin login */
body.epay-admin-login{min-height:100vh;background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 45%,#e0f2fe 100%);}
body.epay-admin-login:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 18% 18%,rgba(37,99,235,.16),transparent 28%),radial-gradient(circle at 78% 8%,rgba(6,182,212,.13),transparent 26%);pointer-events:none;}
body.epay-admin-login>.navbar{border:0;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(15,23,42,.08);}
body.epay-admin-login .navbar-brand{font-weight:800;color:var(--epay-primary)!important;}
body.epay-admin-login>.container{position:relative;z-index:1;}
body.epay-admin-login .panel-primary{border:0;border-radius:22px;box-shadow:0 28px 70px rgba(37,99,235,.16);overflow:hidden;}
body.epay-admin-login .panel-primary>.panel-heading{background:linear-gradient(135deg,var(--epay-primary),var(--epay-primary-2))!important;color:#fff!important;text-align:center;padding:22px;}
body.epay-admin-login .panel-primary>.panel-heading .panel-title{font-size:18px;color:#fff;}
body.epay-admin-login .input-group{margin-bottom:2px;}
body.epay-admin-login .input-lg{height:46px;border-radius:0 12px 12px 0;}

/* user/member center */
body.epay-user-layout{background:var(--epay-bg);}
body.epay-user-layout .app{background:var(--epay-bg);}
body.epay-user-layout .app-header{border:0;box-shadow:0 8px 24px rgba(15,23,42,.08);background:#fff;}
body.epay-user-layout .navbar-header{background:linear-gradient(135deg,var(--epay-primary),var(--epay-primary-2))!important;}
body.epay-user-layout .navbar-brand{font-weight:800;letter-spacing:.2px;}
body.epay-user-layout .navbar-collapse{background:#fff!important;color:#334155!important;}
body.epay-user-layout .navbar-nav>li>a{color:#334155!important;}
body.epay-user-layout .app-aside{background:linear-gradient(180deg,var(--epay-sidebar),var(--epay-sidebar-2))!important;box-shadow:10px 0 28px rgba(15,23,42,.13);}
body.epay-user-layout .navi ul.nav li a{color:#cbd5e1;border-radius:12px;margin:2px 10px;padding:11px 14px;transition:all .18s ease;}
body.epay-user-layout .navi ul.nav li a:hover,
body.epay-user-layout .navi ul.nav li.active>a{background:rgba(255,255,255,.10)!important;color:#fff;}
body.epay-user-layout .navi ul.nav li.active>a{box-shadow:inset 3px 0 0 #38bdf8;}
body.epay-user-layout .navi .text-muted{color:#94a3b8!important;}
body.epay-user-layout .navi .line{background:rgba(255,255,255,.08)!important;margin:10px 14px;}
body.epay-user-layout .app-content{background:var(--epay-bg);}
body.epay-user-layout .bg-light.lter.b-b.wrapper-md{background:linear-gradient(135deg,#fff,#f8fafc)!important;border:0!important;box-shadow:0 10px 24px rgba(15,23,42,.05);margin:0 0 18px;border-radius:0 0 18px 18px;}
body.epay-user-layout .wrapper-md.control{padding-top:8px;}
body.epay-user-layout .panel.padder-v.item{border-radius:18px;box-shadow:var(--epay-shadow-sm);transition:all .18s ease;}
body.epay-user-layout .panel.padder-v.item:hover{transform:translateY(-2px);box-shadow:var(--epay-shadow);}
body.epay-user-layout .round{border:0!important;background:linear-gradient(135deg,#dbeafe,#cffafe)!important;color:var(--epay-primary)!important;box-shadow:0 10px 22px rgba(37,99,235,.15);}
body.epay-user-layout .thumb-sm.avatar img{border:2px solid #e0f2fe;}
body.epay-user-layout .dropdown-menu{border:0;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.14);overflow:hidden;}
body.epay-user-layout .app-footer .wrapper{border:0!important;background:#fff!important;color:#64748b;box-shadow:0 -8px 22px rgba(15,23,42,.04);}

/* user login/register/find-password/oauth pages */
body.epay-user-auth{min-height:100vh;background:linear-gradient(135deg,#eef6ff 0%,#f8fafc 50%,#e0f2fe 100%);}
body.epay-user-auth:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 12% 16%,rgba(37,99,235,.18),transparent 28%),radial-gradient(circle at 88% 14%,rgba(16,185,129,.13),transparent 24%);pointer-events:none;}
body.epay-user-auth .app{background:transparent;position:relative;z-index:1;}
body.epay-user-auth .container.w-xxl,
body.epay-user-auth .container.w-auto-xs{padding-top:42px;}
body.epay-user-auth .navbar-brand.block{display:block;float:none;text-align:center;color:var(--epay-primary)!important;font-size:24px;font-weight:900;margin-bottom:14px;}
body.epay-user-auth .m-b-lg{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.62);border-radius:24px;box-shadow:0 28px 70px rgba(37,99,235,.16);padding:26px;backdrop-filter:blur(10px);}
body.epay-user-auth .wrapper.text-center strong,
body.epay-user-auth .wrapper.text-center{font-size:17px;color:#0f172a;font-weight:800;}
body.epay-user-auth .list-group{border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px #eef2f7;}
body.epay-user-auth .list-group-item{border-left:0;border-right:0;padding:13px 15px;}
body.epay-user-auth .form-control.no-border{box-shadow:none;border:0;background:transparent;}
body.epay-user-auth .btn-lg{height:46px;border-radius:14px;}
body.epay-user-auth .btn-icon{width:46px;height:46px;padding:0;display:inline-flex;align-items:center;justify-content:center;}
body.epay-user-auth small.text-muted{color:#64748b;}

@media (max-width:767px){
  body.epay-admin-layout{padding-left:0;padding-top:52px!important;}
  body.epay-admin-layout>.navbar.navbar-fixed-top{right:0;bottom:auto;width:100%;height:auto;max-height:88vh;overflow-y:auto;}
  body.epay-admin-layout>.navbar .navbar-header{min-height:52px;}
  body.epay-admin-layout>.navbar .navbar-brand{height:52px;line-height:52px;padding:0 16px;font-size:16px;}
  body.epay-admin-layout>.navbar .navbar-toggle{display:block;position:absolute;right:10px;top:8px;margin:0;border:0;background:rgba(255,255,255,.15);}
  body.epay-admin-layout>.navbar .navbar-toggle .icon-bar{background:#fff;}
  body.epay-admin-layout>.navbar .navbar-collapse{padding:8px 12px 14px;}
  body.epay-admin-layout>.container{padding:18px 14px 28px!important;}
  .panel-body{padding:16px;}
  .table-responsive{box-shadow:none;}
}


/* standalone utility pages */
body.epay-user-auth .page-header{border:0;margin-top:22px;padding:18px 20px;background:rgba(255,255,255,.9);border-radius:18px;box-shadow:var(--epay-shadow-sm);}
body.epay-user-auth .page-header h4{margin:0;font-weight:800;color:#0f172a;}
body.epay-user-auth .btn-group-justified .btn{margin:3px;border-radius:12px!important;}
body.epay-loading-page{min-height:100vh;background:linear-gradient(135deg,#eff6ff,#f8fafc,#e0f2fe);display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;}
body.epay-loading-page p{position:static!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;margin:0!important;padding:22px 28px 22px 58px!important;border:0!important;border-radius:18px!important;background:#fff url(../assets/img/loading.gif) no-repeat 24px center!important;box-shadow:0 24px 60px rgba(37,99,235,.16)!important;color:#0f172a!important;}
