/* EPay modern commercial UI layer */
:root{
  --epay-bg:#f4f7fb;
  --epay-surface:#ffffff;
  --epay-surface-soft:#f8fafc;
  --epay-ink:#0f172a;
  --epay-muted:#64748b;
  --epay-line:#e2e8f0;
  --epay-primary:#2563eb;
  --epay-primary-2:#06b6d4;
  --epay-success:#10b981;
  --epay-warning:#f59e0b;
  --epay-danger:#ef4444;
  --epay-radius:18px;
  --epay-radius-sm:12px;
  --epay-shadow:0 18px 45px rgba(15,23,42,.08);
  --epay-shadow-sm:0 10px 24px rgba(15,23,42,.06);
  --epay-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
}

html{background:var(--epay-bg);}
body{
  color:var(--epay-ink);
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.11),transparent 30%),
    radial-gradient(circle at 92% 12%,rgba(6,182,212,.10),transparent 34%),
    linear-gradient(180deg,#f8fbff 0%,var(--epay-bg) 42%,#f7f9fd 100%);
  font-family:var(--epay-font);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:#1d4ed8;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;}
a:hover,a:focus{color:#0f3ea8;text-decoration:none;}
a:focus-visible,.btn:focus-visible,.form-control:focus-visible,button:focus-visible{outline:3px solid rgba(37,99,235,.25)!important;outline-offset:2px;}

/* Bootstrap base refresh */
.container{max-width:1180px;}
.panel,.list-group,.modal-content,.dropdown-menu,.well,.thumbnail{
  border:1px solid rgba(226,232,240,.9);
  border-radius:var(--epay-radius);
  box-shadow:var(--epay-shadow-sm);
  overflow:hidden;
}
.panel{background:rgba(255,255,255,.92);backdrop-filter:saturate(140%) blur(10px);}
.panel-heading{
  border-bottom:1px solid rgba(226,232,240,.86)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)!important;
  color:var(--epay-ink)!important;
  padding:16px 20px;
}
.panel-title{font-weight:700;letter-spacing:.01em;}
.panel-body{padding:22px;}
.panel-primary,.panel-info,.panel-success,.panel-warning,.panel-danger,.panel-default{border-color:rgba(226,232,240,.9);}
.panel-primary>.panel-heading,.panel-info>.panel-heading,.panel-success>.panel-heading,.panel-warning>.panel-heading,.panel-danger>.panel-heading{
  border-left:4px solid var(--epay-primary);
}
.panel-success>.panel-heading{border-left-color:var(--epay-success);}
.panel-warning>.panel-heading{border-left-color:var(--epay-warning);}
.panel-danger>.panel-heading{border-left-color:var(--epay-danger);}

.btn{
  border-radius:999px;
  font-weight:700;
  letter-spacing:.01em;
  border-width:0;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}
.btn:hover,.btn:focus{transform:translateY(-1px);box-shadow:0 13px 26px rgba(15,23,42,.12);}
.btn:active{transform:translateY(0);box-shadow:0 6px 14px rgba(15,23,42,.10);}
.btn-primary,.btn-info{
  color:#fff!important;
  background:linear-gradient(135deg,var(--epay-primary),var(--epay-primary-2))!important;
  border-color:transparent!important;
}
.btn-success{background:linear-gradient(135deg,#10b981,#22c55e)!important;border-color:transparent!important;color:#fff!important;}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#f97316)!important;border-color:transparent!important;color:#fff!important;}
.btn-danger{background:linear-gradient(135deg,#ef4444,#f43f5e)!important;border-color:transparent!important;color:#fff!important;}
.btn-default,.btn-white{
  color:#334155!important;
  background:#fff!important;
  border:1px solid rgba(203,213,225,.9)!important;
}
.btn-xs,.btn-sm{box-shadow:none;font-weight:700;}

.form-control,.input-group-addon,select.form-control{
  min-height:40px;
  border-radius:12px;
  border-color:#dbe4ef;
  box-shadow:none;
  color:var(--epay-ink);
}
.form-control:focus{
  border-color:rgba(37,99,235,.75);
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
}
.input-group-addon{background:#f8fafc;color:#64748b;}
.input-lg{height:48px;border-radius:14px;}
label,.control-label{color:#334155;font-weight:700;}
.help-block,.text-muted,small{color:var(--epay-muted)!important;}

.table{margin-bottom:0;background:#fff;}
.table>thead>tr>th{
  background:#f8fafc;
  color:#475569;
  border-bottom:1px solid #e2e8f0;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>thead>tr>td{border-color:#edf2f7;vertical-align:middle;}
.table-striped>tbody>tr:nth-of-type(odd){background-color:#fbfdff;}
.table-hover>tbody>tr:hover,.table>tbody>tr:hover{background-color:#eff6ff;}
.table-responsive{border:0;border-radius:var(--epay-radius);box-shadow:var(--epay-shadow-sm);background:#fff;}
.bootstrap-table .fixed-table-toolbar .search input{border-radius:999px;}
.bootstrap-table .fixed-table-container{border-color:#e2e8f0;border-radius:var(--epay-radius);overflow:hidden;}

.alert{
  border:0;
  border-radius:16px;
  box-shadow:none;
  padding:14px 18px;
}
.alert-info{background:#eff6ff;color:#1d4ed8;}
.alert-success{background:#ecfdf5;color:#047857;}
.alert-warning{background:#fffbeb;color:#92400e;}
.alert-danger{background:#fef2f2;color:#b91c1c;}
.label,.badge{border-radius:999px;text-shadow:none;}
.label-success,.badge-success{background:#10b981;}
.label-info,.badge-info{background:#0ea5e9;}
.label-warning,.badge-warning{background:#f59e0b;}
.label-danger,.badge-danger{background:#ef4444;}

.nav-tabs{border-bottom:1px solid #e2e8f0;}
.nav-tabs>li>a{border:0;border-radius:999px;color:#64748b;font-weight:700;margin-right:8px;}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{border:0;color:#fff;background:linear-gradient(135deg,var(--epay-primary),var(--epay-primary-2));}
.list-group-item{border-color:#edf2f7;padding:13px 16px;}
.list-group-item:first-child{border-top-left-radius:var(--epay-radius);border-top-right-radius:var(--epay-radius);}
.list-group-item:last-child{border-bottom-left-radius:var(--epay-radius);border-bottom-right-radius:var(--epay-radius);}
.modal-content{border:0;}
.modal-header,.modal-footer{border-color:#e2e8f0;}
.close{opacity:.65;}

/* Admin */
.epay-admin{padding-top:78px;}
.epay-admin .navbar.navbar-fixed-top{
  top:14px;
  left:16px;
  right:16px;
  width:auto;
  min-height:58px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.92))!important;
  box-shadow:0 18px 46px rgba(15,23,42,.22);
  backdrop-filter:blur(16px);
}
.epay-admin .navbar-default .navbar-brand{color:#fff;font-weight:800;letter-spacing:.02em;}
.epay-admin .navbar-default .navbar-brand:before{
  content:"";
  display:inline-block;
  width:30px;height:30px;
  margin:-4px 10px 0 0;
  vertical-align:middle;
  border-radius:10px;
  background:linear-gradient(135deg,#38bdf8,#2563eb 56%,#7c3aed);
  box-shadow:0 10px 24px rgba(37,99,235,.42);
}
.epay-admin .navbar-default .navbar-nav>li>a{color:rgba(226,232,240,.88);font-weight:700;border-radius:999px;margin:9px 2px;padding:10px 12px;}
.epay-admin .navbar-default .navbar-nav>li>a:hover,.epay-admin .navbar-default .navbar-nav>li>a:focus,.epay-admin .navbar-default .navbar-nav>.active>a,.epay-admin .navbar-default .navbar-nav>.open>a{
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
}
.epay-admin .navbar-default .navbar-toggle{border:0;background:rgba(255,255,255,.12);margin-top:12px;}
.epay-admin .navbar-default .navbar-toggle .icon-bar{background:#fff;}
.epay-admin .dropdown-menu{border:0;margin-top:10px;padding:10px;}
.epay-admin .dropdown-menu>li>a{border-radius:12px;padding:9px 12px;color:#334155;}
.epay-admin .dropdown-menu>li>a:hover{background:#eff6ff;color:#1d4ed8;}
.epay-admin .container[style*="padding-top:70px"]{padding-top:18px!important;}
.epay-admin .center-block{float:none!important;}
.epay-admin .img-thumbnail{border:4px solid #fff;box-shadow:0 10px 26px rgba(15,23,42,.16);}
#browser-notice .panel{border-left:4px solid var(--epay-warning);}

/* User center */
.epay-user,.epay-user .app{background:transparent;}
.epay-user .app-header.navbar{
  min-height:66px;
  border:0;
  box-shadow:0 12px 34px rgba(15,23,42,.10);
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
}
.epay-user .navbar-header,.epay-user .navbar-collapse{background:transparent!important;color:var(--epay-ink);}
.epay-user .navbar-brand{height:66px;line-height:36px;font-weight:900;color:var(--epay-ink)!important;letter-spacing:.01em;}
.epay-user .navbar-brand i{
  width:34px;height:34px;line-height:34px;text-align:center;border-radius:12px;
  color:#fff;background:linear-gradient(135deg,#38bdf8,#2563eb 56%,#7c3aed);
  box-shadow:0 10px 24px rgba(37,99,235,.35);
}
.epay-user .app-aside{background:#0f172a!important;border-right:0;box-shadow:14px 0 38px rgba(15,23,42,.18);}
.epay-user .aside-wrap,.epay-user .navi-wrap{background:linear-gradient(180deg,#0f172a 0%,#111827 100%)!important;}
.epay-user .navi ul.nav li a{color:rgba(226,232,240,.82);font-weight:700;margin:4px 10px;border-radius:14px;transition:background-color .18s ease,color .18s ease;}
.epay-user .navi ul.nav li a:hover,.epay-user .navi ul.nav li.active>a{color:#fff;background:rgba(37,99,235,.22);}
.epay-user .navi ul.nav li a i{color:#93c5fd!important;}
.epay-user .navi .text-muted{color:#94a3b8!important;letter-spacing:.08em;text-transform:uppercase;}
.epay-user .app-content{background:transparent;}
.epay-user .app-content-body>.bg-light.lter{
  margin:18px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,64,175,.86)),
    radial-gradient(circle at 80% 20%,rgba(56,189,248,.35),transparent 28%)!important;
  color:#fff;
  box-shadow:var(--epay-shadow);
}
.epay-user .app-content-body>.bg-light.lter h1{font-weight:900;color:#fff;}
.epay-user .app-content-body>.bg-light.lter small{color:rgba(226,232,240,.78)!important;}
.epay-user .wrapper-md{padding:18px;}
.epay-user .panel.padder-v.item{min-height:118px;position:relative;overflow:hidden;}
.epay-user .panel.padder-v.item:after{
  content:"";position:absolute;right:-34px;top:-34px;width:100px;height:100px;border-radius:50%;background:rgba(37,99,235,.10);
}
.epay-user .round{border:0!important;background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;color:#2563eb!important;box-shadow:0 10px 24px rgba(37,99,235,.14);}
.epay-user .h1{font-weight:900;color:#0f172a;}
.epay-user .thumb-sm img,.epay-user .avatar img{object-fit:cover;}
.epay-user .thumb-sm.avatar img{border:2px solid #fff;box-shadow:0 8px 20px rgba(15,23,42,.18);}
.epay-user .bg-info.dk,.epay-user .bg-info{background:linear-gradient(135deg,#2563eb,#06b6d4)!important;}
.epay-user .hbox.bg-light{background:#f8fafc!important;}
.epay-user .i-switch input:checked+i{background-color:#2563eb;}

/* Auth pages used by user/login.php, reg.php, oauth/connect/findpwd */
body.epay-auth-page{
  background:
    radial-gradient(circle at 18% 12%,rgba(37,99,235,.18),transparent 30%),
    radial-gradient(circle at 84% 16%,rgba(6,182,212,.18),transparent 28%),
    linear-gradient(135deg,#eef6ff 0%,#f8fafc 48%,#eef2ff 100%);
}
.epay-auth-page .app{background:transparent;}
body.epay-auth-page .container.w-xxl{
  width:min(450px,calc(100% - 30px));
  margin-top:5vh;
  padding:28px!important;
  border:1px solid rgba(255,255,255,.82);
  border-radius:28px;
  background:rgba(255,255,255,.86);
  box-shadow:0 26px 70px rgba(15,23,42,.16);
  backdrop-filter:blur(18px);
}
.container.w-xxl .navbar-brand{float:none;display:block;text-align:center;font-size:26px;font-weight:900;color:var(--epay-ink);}
.container.w-xxl .wrapper.text-center strong{font-size:15px;color:#64748b;}
.container.w-xxl .list-group{box-shadow:none;border-radius:18px;border:1px solid #e2e8f0;}
.container.w-xxl .list-group-item{padding:7px 12px;background:#fff;}
.container.w-xxl .form-control.no-border{height:46px;font-size:15px;background:transparent;}
.container.w-xxl .line-dashed{border-color:#e2e8f0;}
.container.w-xxl .btn-lg{height:48px;line-height:28px;}
.container.w-xxl .btn-icon{width:48px;height:48px;padding:10px;}

/* Installer */
.epay-install{background:linear-gradient(135deg,#eef6ff,#f8fafc 50%,#eef2ff);}
.epay-install .container{padding-top:28px;}
.epay-install pre{
  border:0;border-radius:24px;color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);box-shadow:var(--epay-shadow);padding:20px;
}
.epay-install pre h4{font-weight:900;letter-spacing:.02em;}
.epay-install .panel-warning{border-color:#e2e8f0;}
.epay-install footer pre{background:#fff;color:#64748b;box-shadow:none;border:1px solid #e2e8f0;}

/* Utility polish */
.progress{height:8px;border-radius:999px;overflow:hidden;background:#e2e8f0;}
.progress-bar{border-radius:999px;}
hr,.line,.line-dashed{border-color:#e2e8f0;}
code,pre{border-radius:14px;}
.cursor-pointer,[onclick],a[href],button,.btn,.pay_li{cursor:pointer;}

@media (max-width:991px){
  .epay-admin .navbar.navbar-fixed-top{top:8px;left:8px;right:8px;border-radius:18px;}
  .epay-admin{padding-top:72px;}
  .epay-user .app-content-body>.bg-light.lter{margin:12px;border-radius:20px;}
  .epay-user .wrapper-md{padding:12px;}
}
@media (max-width:767px){
  body{background:#f6f8fc;}
  .panel-body{padding:16px;}
  .table-responsive{box-shadow:none;border:1px solid #e2e8f0;}
  .epay-admin .navbar-default .navbar-collapse{border:0;background:rgba(15,23,42,.96);border-radius:0 0 18px 18px;}
  .epay-admin .navbar-default .navbar-nav>li>a{margin:4px 8px;}
  .container.w-xxl{margin-top:18px;padding:20px!important;border-radius:24px;}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}
