/*!
 * Mavis UI Theme — 彩虹易支付全局美化主题
 * 纯样式覆盖层，不改动任何业务逻辑与 DOM 结构
 * 作用范围：后台(admin) / 商户中心(user) / 收银台(paypage)
 */

:root{
	--m-primary:#3b5bdb;
	--m-primary-d:#2f4bc0;
	--m-primary-l:#edf0ff;
	--m-success:#12b76a;
	--m-warning:#f79009;
	--m-danger:#f04438;
	--m-info:#0ba5ec;
	--m-ink:#1f2733;
	--m-ink-2:#4a5464;
	--m-ink-3:#8a94a6;
	--m-line:#e6e9f0;
	--m-bg:#f4f6fa;
	--m-card:#ffffff;
	--m-radius:10px;
	--m-radius-sm:7px;
	--m-shadow:0 1px 2px rgba(16,24,40,.04), 0 4px 16px rgba(16,24,40,.06);
	--m-shadow-hover:0 4px 10px rgba(16,24,40,.08), 0 12px 28px rgba(16,24,40,.10);
	--m-nav-h:56px;
}

html{ -webkit-text-size-adjust:100%; }

body{
	background:var(--m-bg);
	color:var(--m-ink);
	font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size:14px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* ---------------- 顶部导航 ---------------- */
.navbar{
	min-height:var(--m-nav-h);
	background:linear-gradient(97deg,#1d2440 0%,#26305c 45%,#313d75 100%) !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:0 1px 0 rgba(255,255,255,.06), 0 4px 20px rgba(16,24,40,.18);
	margin-bottom:0;
	padding:0;
}
.navbar:before{
	content:"";
	position:absolute; inset:0;
	background:radial-gradient(680px 120px at 12% 0%, rgba(120,150,255,.20), transparent 70%);
	pointer-events:none;
}
.navbar>.container{ position:relative; }
.navbar-brand{
	height:var(--m-nav-h);
	padding:0 18px 0 16px !important;
	line-height:var(--m-nav-h) !important;
	font-size:16px;
	font-weight:600;
	letter-spacing:.3px;
	color:#fff !important;
	display:flex; align-items:center; gap:8px;
}
.navbar-brand:before{
	content:"\f0e7";           /* fa-diamond */
	font-family:FontAwesome;
	color:#8fa6ff;
	font-size:14px;
}
.navbar-nav>li>a{
	color:rgba(255,255,255,.80) !important;
	padding:0 15px !important;
	line-height:var(--m-nav-h) !important;
	font-size:14px;
	border-radius:0;
	transition:color .18s ease, background .18s ease;
}
.navbar-nav>li>a:hover,
.navbar-nav>li>a:focus{
	color:#fff !important;
	background:rgba(255,255,255,.10) !important;
}
.navbar-nav>.active>a,
.navbar-nav>.active>a:hover,
.navbar-nav>.active>a:focus{
	color:#fff !important;
	background:rgba(255,255,255,.14) !important;
	box-shadow:inset 0 -3px 0 var(--m-primary);
}
.navbar-nav>li>a i{ margin-right:5px; opacity:.85; }
.navbar-toggle{ margin-top:13px; }
.dropdown-menu{
	border:1px solid var(--m-line);
	border-radius:var(--m-radius-sm);
	box-shadow:var(--m-shadow-hover);
	padding:6px;
	margin-top:2px;
}
.dropdown-menu>li>a{
	padding:8px 14px !important;
	border-radius:5px;
	font-size:14px;
	color:var(--m-ink-2);
	transition:background .16s ease,color .16s ease;
}
.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus{
	background:var(--m-primary-l) !important;
	color:var(--m-primary-d) !important;
}
.dropdown-menu .divider{ background:var(--m-line); }
.caret{ border-top-color:rgba(255,255,255,.7) !important; margin-left:3px; }

/* ---------------- 容器与栅格留白 ---------------- */
.container{ max-width:1280px; }
.container-fluid{ padding-left:20px; padding-right:20px; }

/* ---------------- 按钮 ---------------- */
.btn{
	border-radius:var(--m-radius-sm);
	font-weight:500;
	padding:7px 15px;
	border-width:1px;
	transition:all .18s ease;
	box-shadow:0 1px 1px rgba(16,24,40,.04);
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn-xs{ padding:3px 9px; font-size:12px; border-radius:5px; }
.btn-sm{ padding:5px 12px; font-size:13px; }
.btn-lg{ padding:10px 20px; font-size:15px; border-radius:9px; }

.btn-primary{ background:var(--m-primary); border-color:var(--m-primary); }
.btn-primary:hover,
.btn-primary:focus{ background:var(--m-primary-d); border-color:var(--m-primary-d); box-shadow:0 6px 16px rgba(59,91,219,.32); }
.btn-success{ background:var(--m-success); border-color:var(--m-success); }
.btn-success:hover,
.btn-success:focus{ background:#0e9c5b; border-color:#0e9c5b; box-shadow:0 6px 16px rgba(18,183,106,.30); }
.btn-warning{ background:var(--m-warning); border-color:var(--m-warning); }
.btn-warning:hover,
.btn-warning:focus{ background:#dc8008; border-color:#dc8008; box-shadow:0 6px 16px rgba(247,144,9,.30); }
.btn-danger{ background:var(--m-danger); border-color:var(--m-danger); }
.btn-danger:hover,
.btn-danger:focus{ background:#d92d20; border-color:#d92d20; box-shadow:0 6px 16px rgba(240,68,56,.30); }
.btn-info{ background:var(--m-info); border-color:var(--m-info); }
.btn-info:hover,
.btn-info:focus{ background:#0894d4; border-color:#0894d4; box-shadow:0 6px 16px rgba(11,165,236,.30); }
.btn-default{
	background:#fff; color:var(--m-ink-2); border-color:#d8dde8;
}
.btn-default:hover,
.btn-default:focus{
	background:#f7f8fc; color:var(--m-primary); border-color:#c3cbe0;
}
.btn-white{ background:#fff; color:var(--m-ink-2); border-color:#d8dde8; }
.btn-white:hover{ background:#f7f8fc; color:var(--m-primary); border-color:#c3cbe0; }

/* 状态小按钮（通道/商户状态开关）*/
.table .btn-xs.btn-success{ opacity:.92; }
.table .btn-xs.btn-warning{ opacity:.92; }

/* ---------------- 表单控件 ---------------- */
.form-control{
	border-radius:var(--m-radius-sm);
	border-color:#d8dde8;
	height:36px;
	padding:7px 12px;
	color:var(--m-ink);
	transition:border-color .18s ease, box-shadow .18s ease;
}
.form-control:focus{
	border-color:var(--m-primary);
	box-shadow:0 0 0 3px rgba(59,91,219,.14);
	outline:none;
}
.form-control::-webkit-input-placeholder{ color:#a9b1c1; }
.form-control[readonly],
.form-control[disabled]{ background:#f6f7fa; color:var(--m-ink-3); }
textarea.form-control{ height:auto; }

.input-group-addon{
	background:#f6f7fa;
	border-color:#d8dde8;
	color:var(--m-ink-3);
	font-size:13px;
	border-radius:var(--m-radius-sm);
}
.input-group .form-control{ border-radius:var(--m-radius-sm); }
.input-group .form-control:first-child{ border-top-right-radius:0; border-bottom-right-radius:0; }
.input-group-addon:first-child{ border-top-left-radius:0; border-bottom-left-radius:0; }

select.form-control{
	appearance:none;
	-webkit-appearance:none;
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%238a94a6' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 12px center;
	padding-right:30px;
}
select.form-control[multiple]{ background-image:none; padding-right:12px; }

.checkbox, .radio{ padding-left:22px; }
.checkbox label, .radio label{ padding-left:6px; color:var(--m-ink-2); }
input[type=checkbox], input[type=radio]{ margin-top:3px; }

.control-label{ color:var(--m-ink-2); font-weight:500; font-size:14px; }
.help-block{ color:var(--m-ink-3); font-size:12.5px; }
.form-horizontal .form-group{ margin-bottom:16px; }
.form-inline .form-group{ margin-bottom:10px; }
.form-inline .form-control{ display:inline-block; width:auto; vertical-align:middle; }

/* 复选框组 */
.checkbox-inline, .radio-inline{ margin-right:16px; }

/* ---------------- 表格 ---------------- */
.table{
	background:var(--m-card);
	border-color:var(--m-line);
	border-radius:var(--m-radius);
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	font-size:14px;
}
.table>thead>tr>th{
	background:#f7f8fc;
	color:var(--m-ink-2);
	font-weight:600;
	font-size:13px;
	border-bottom:1px solid var(--m-line);
	border-top:0;
	padding:12px 10px;
	white-space:nowrap;
	vertical-align:middle;
}
.table>tbody>tr>td{
	padding:11px 10px;
	border-top:1px solid #f0f2f7;
	vertical-align:middle;
	color:var(--m-ink);
}
.table>tbody>tr:first-child>td{ border-top:0; }
.table-striped>tbody>tr:nth-of-type(odd){ background-color:#fbfcfe; }
.table-hover>tbody>tr:hover{ background-color:var(--m-primary-l); }
.table-hover>tbody>tr:hover>td{ border-color:transparent; }
.table-bordered, .table-bordered>thead>tr>th, .table-bordered>tbody>tr>td{ border-color:var(--m-line); }
.table-condensed>thead>tr>th,
.table-condensed>tbody>tr>td{ padding:7px 8px; }
.table .info{ background:#f7f8fc !important; color:var(--m-ink-2); font-weight:500; width:130px; }
.table a{ color:var(--m-primary); }
.table a:hover{ color:var(--m-primary-d); text-decoration:underline; }
.table b{ color:var(--m-ink); }

/* bootstrap-table 固定表头 */
.fixed-table-container{ border-radius:var(--m-radius); }
.fixed-table-body{ border-radius:0 0 var(--m-radius) var(--m-radius); overflow:hidden; }
.fixed-table-pagination{ margin-top:0 !important; border-top:1px solid var(--m-line); background:#fff; }
.fixed-table-toolbar{ background:transparent; border-bottom:0; padding:0 0 12px; }

/* ---------------- 分页 ---------------- */
.pagination{ margin-top:16px; }
.page-item:first-child .page-link{ border-top-left-radius:var(--m-radius-sm); border-bottom-left-radius:var(--m-radius-sm); }
.page-item:last-child .page-link{ border-top-right-radius:var(--m-radius-sm); border-bottom-right-radius:var(--m-radius-sm); }
.page-link{
	color:var(--m-primary) !important;
	border-color:var(--m-line) !important;
	min-width:34px;
	text-align:center;
	margin:0 -1px;
	border-radius:var(--m-radius-sm) !important;
	transition:all .16s ease;
}
.page-link:hover{ background:var(--m-primary-l); }
.page-item.active .page-link{
	background:var(--m-primary) !important;
	border-color:var(--m-primary) !important;
	color:#fff !important;
}
.page-item.disabled .page-link{ color:var(--m-ink-3) !important; background:#fff; }

/* ---------------- 模态框 ---------------- */
.modal-content{
	border:0;
	border-radius:14px;
	box-shadow:0 20px 50px rgba(16,24,40,.22);
	overflow:hidden;
}
.modal-header{
	background:#f7f8fc;
	border-bottom:1px solid var(--m-line);
	padding:16px 20px;
	border-radius:14px 14px 0 0;
}
.modal-title{ font-size:16px; font-weight:600; color:var(--m-ink); }
.modal-body{ padding:20px; color:var(--m-ink-2); }
.modal-footer{
	border-top:1px solid var(--m-line);
	padding:14px 20px;
	background:#fafbfd;
	border-radius:0 0 14px 14px;
}
.modal-footer .btn{ min-width:76px; }
.modal-backdrop{ background-color:#101828; }
.modal-backdrop.in{ opacity:.5; }

/* ---------------- 面板 / 卡片 / 提示块 ---------------- */
.panel{
	border:1px solid var(--m-line);
	border-radius:var(--m-radius);
	box-shadow:var(--m-shadow);
	background:var(--m-card);
	margin-bottom:20px;
}
.panel-heading{ border-bottom:1px solid var(--m-line) !important; }
.panel-body{ padding:18px; }

.alert{
	border-radius:var(--m-radius-sm);
	border-width:1px;
	padding:12px 16px;
}
.alert-success{ background:#ecfdf3; border-color:#abefc6; color:#05603a; }
.alert-info{ background:#eff8ff; border-color:#b2ddff; color:#175cd3; }
.alert-warning{ background:#fffaeb; border-color:#fedf89; color:#b54708; }
.alert-danger{ background:#fef3f2; border-color:#fecdca; color:#b42318; }

.label{
	border-radius:5px;
	font-weight:500;
	padding:.28em .6em;
}
.badge{ border-radius:20px; padding:.4em .65em; font-weight:500; }

.panel-heading h3, .panel-title{ color:var(--m-ink); font-weight:600; }

hr{ border-top-color:var(--m-line); }

/* ---------------- 统计数字块（首页/统计页）用 col-xs/panel 组合美化 ---------------- */
.text-muted{ color:var(--m-ink-3) !important; }
.text-primary{ color:var(--m-primary) !important; }
.text-success{ color:var(--m-success) !important; }
.text-warning{ color:var(--m-warning) !important; }
.text-danger{ color:var(--m-danger) !important; }
.text-center{ text-align:center; }
.pull-right{ float:right !important; }

/* ---------------- 图标尺寸对齐 ---------------- */
.fa, .glyphicon{ vertical-align:middle; }

/* ---------------- Popover ---------------- */
.popover{ border-color:var(--m-line); border-radius:var(--m-radius-sm); box-shadow:var(--m-shadow-hover); }
.popover-title{ background:#f7f8fc; color:var(--m-ink); border-bottom-color:var(--m-line); font-weight:600; border-radius:var(--m-radius-sm) var(--m-radius-sm) 0 0; }

/* ---------------- 滚动条 ---------------- */
::-webkit-scrollbar{ width:9px; height:9px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:#cbd2e0; border-radius:6px; border:2px solid transparent; background-clip:content-box; }
::-webkit-scrollbar-thumb:hover{ background:#aab3c6; background-clip:content-box; }

/* ---------------- 选中的文本 ---------------- */
::selection{ background:rgba(59,91,219,.18); color:var(--m-ink); }

/* ==========================================================================
   商户中心(user) —— app/aside 布局专属
   注意：.bg-white/.bg-black/.bg-dark/.bg-primary/.bg-info 与 .app-aside 底色
   属于「系统设置-首页模板配置」里的可配主题色，这里不做覆盖，避免破坏配置。
   ========================================================================== */
.app-aside .nav>li>a{ color:rgba(255,255,255,.72) !important; border-radius:8px; margin:2px 10px; }
.app-aside .nav>li>a:hover{ background:rgba(255,255,255,.08) !important; color:#fff !important; }
.app-aside .nav>.active>a{ background:rgba(255,255,255,.18) !important; color:#fff !important; }
.app-content{ background:var(--m-bg); }
.app-content .app-content-body{ padding-bottom:24px; }
.app-header{ box-shadow:0 1px 0 rgba(16,24,40,.06), 0 4px 18px rgba(16,24,40,.08); }

.panel-group .panel{ border-radius:var(--m-radius); }
.list-group-item{ border-color:var(--m-line); padding:12px 15px; color:var(--m-ink-2); }
.list-group-item:first-child{ border-top-left-radius:var(--m-radius-sm); border-top-right-radius:var(--m-radius-sm); }
.list-group-item:last-child{ border-bottom-left-radius:var(--m-radius-sm); border-bottom-right-radius:var(--m-radius-sm); }
.list-group-item:hover{ background:#f7f8fc; }

/* ==========================================================================
   移动端适配微调
   ========================================================================== */
@media (max-width:768px){
	.navbar-brand{ font-size:15px; padding:0 12px !important; }
	.navbar-nav>li>a{ padding:0 11px !important; font-size:13px; }
	.container-fluid{ padding-left:12px; padding-right:12px; }
	.form-control{ height:38px; }
	.table>tbody>tr>td{ padding:10px 8px; }
	.modal-body{ padding:16px; }
}
@media (max-width:480px){
	.table>thead>tr>th,
	.table>tbody>tr>td{ font-size:13px; padding:9px 6px; }
	.btn{ padding:6px 12px; }
}

/* ==========================================================================
   打印
   ========================================================================== */
@media print{
	.navbar, .btn, .fixed-table-toolbar, .pagination{ display:none !important; }
	body{ background:#fff; }
	.table{ box-shadow:none; }
}
