/* 仅在 sys.index.sideTheme=pink 时加载，登录页、外框及内页共用同一套配色。 */
:root {
    --pink-canvas: #fff7fa;
    --pink-paper: #fffdfd;
    --pink-soft: #ffeaf2;
    --pink-border: #f1d6e1;
    --pink-primary: #b9366b;
    --pink-hover: #9e2858;
    --pink-text: #593744;
    --pink-muted: #886775;
    --pink-shadow: 0 5px 20px rgba(139, 62, 93, .06);
}

body {
    color: var(--pink-text);
    background-color: var(--pink-canvas);
}
body.gray-bg, #page-wrapper.gray-bg { background: var(--pink-canvas); }
body a { color: var(--pink-primary); }
body a:hover, body a:focus { color: var(--pink-hover); }
body .text-muted { color: var(--pink-muted); }
body .text-primary { color: var(--pink-primary); }

/* 导航保留原有尺寸与展开逻辑，只调整视觉层次。 */
.theme-pink .navbar-static-side {
    background: linear-gradient(180deg, #fff0f6 0%, #fffafd 100%);
    border-right: 1px solid var(--pink-border);
    box-shadow: 2px 0 16px rgba(139, 62, 93, .04);
}
.theme-pink .logo, .theme-pink .logo:hover {
    color: var(--pink-primary);
    background: #ffe5ef;
    border-bottom: 1px solid var(--pink-border);
}
.theme-pink .logo-lg { font-weight: 700; letter-spacing: .5px; }
.theme-pink .user-panel {
    color: var(--pink-text);
    background: transparent;
    border-bottom: 1px solid var(--pink-border);
}
.theme-pink .user-panel > .info,
.theme-pink .user-panel > .info > p,
.theme-pink .user-panel > .info > a { color: var(--pink-text); }
.theme-pink .user-panel .image img,
.theme-pink .navbar .user-image { border: 2px solid #fff; box-shadow: 0 0 0 1px var(--pink-border); }
.theme-pink .navbar {
    background: linear-gradient(110deg, #c34479, #ae315f);
    border-color: transparent;
}
.theme-pink .navbar .nav > li > a,
.theme-pink .navbar .sidebar-toggle { color: #fff; }
.theme-pink .navbar .nav > li > a:hover,
.theme-pink .navbar .nav > li > a:focus,
.theme-pink .navbar .nav > .open > a,
.theme-pink .navbar .nav > .active > a {
    color: #fff;
    background: rgba(255, 255, 255, .15);
}
.theme-pink .navbar-default .nav > li > a { color: var(--pink-text); }
.theme-pink .navbar-default .nav > li > a:hover,
.theme-pink .navbar-default .nav > li > a:focus {
    color: var(--pink-primary);
    background: #ffe7f0;
}
.theme-pink .nav:not(.navbar-toolbar) > li.active {
    border-left-color: var(--pink-primary);
    background: #fff0f6;
}
.theme-pink .navbar-default .nav > li.active > a { color: var(--pink-primary); }
.theme-pink .navbar-default .nav > li.selected > a,
.theme-pink .navbar-default .nav > li.selected > a:focus {
    color: #922349;
    background: #fbd6e5;
    border-radius: 0 18px 18px 0;
}
.theme-pink .nav > li.active > ul li.active { border-left: 0; }
.theme-pink .navbar-default .nav > li > a > i { color: #b05276; }
.theme-pink.fixed-sidebar.mini-navbar .nav li:hover > a > span.nav-label,
.theme-pink.fixed-sidebar.mini-navbar .nav li:hover > .nav-second-level {
    color: var(--pink-text);
    background: #fff0f6;
    border-color: var(--pink-border);
}
.theme-pink .content-tabs { background: #fffafd; border-bottom: 1px solid var(--pink-border); }
.theme-pink .content-tabs .roll-nav { color: var(--pink-muted); background: #fffafd; border-color: var(--pink-border); }
.theme-pink .page-tabs a { color: var(--pink-muted); border-right-color: var(--pink-border); }
.theme-pink .page-tabs a.active,
.theme-pink .page-tabs a.active:hover {
    color: var(--pink-primary);
    background: var(--pink-soft);
    box-shadow: inset 0 -3px 0 var(--pink-primary);
}
.theme-pink .page-tabs a:hover,
.theme-pink .content-tabs .roll-nav:hover { color: var(--pink-primary); background: #fff0f6; }
.theme-pink .footer { color: var(--pink-muted); background: #fffafd; border-top-color: var(--pink-border); }
.theme-pink .nav-close { color: var(--pink-primary); }

/* 卡片、表格、表单及弹窗在 iframe 内独立生效。 */
body .search-collapse, body .select-table,
body .ibox, body .panel { border-radius: 14px; box-shadow: var(--pink-shadow); }
body .search-collapse, body .select-table {
    background: var(--pink-paper);
    border: 1px solid var(--pink-border);
}
body .ibox-title {
    color: var(--pink-text);
    background: #fff0f6;
    border-color: var(--pink-border);
    border-radius: 14px 14px 0 0;
}
body .ibox-content {
    color: var(--pink-text);
    background: var(--pink-paper);
    border-color: var(--pink-border);
    border-radius: 0 0 14px 14px;
}
body .panel-default { border-color: var(--pink-border); }
body .panel-default > .panel-heading {
    color: var(--pink-text);
    background: var(--pink-soft);
    border-color: var(--pink-border);
}
body .table > thead > tr > th,
body .fixed-table-header { color: #714052; background: #fff0f6; border-color: var(--pink-border); }
body .table > tbody > tr > td,
body .table-bordered, body .fixed-table-container { border-color: #f3e2e9; }
body .table-striped > tbody > tr:nth-of-type(odd) { background: #fffafd; }
body .table-hover > tbody > tr:hover { background: #fff0f6; }
body .fixed-table-container tbody .selected td { background: #ffe5ef; }
body .pagination > li > a, body .pagination > li > span {
    color: var(--pink-primary);
    background: #fff;
    border-color: var(--pink-border);
}
body .pagination > .active > a, body .pagination > .active > span,
body .pagination > .active > a:hover, body .pagination > .active > a:focus {
    color: #fff;
    background: var(--pink-primary);
    border-color: var(--pink-primary);
}
body .pagination > .disabled > a, body .pagination > .disabled > span { color: #a29199; background: #fffafd; }
body .form-control, body .select-list input, body .select-list select {
    color: var(--pink-text);
    background-color: #fff;
    border: 1px solid var(--pink-border);
    border-radius: 7px;
}
body .form-control:focus, body .select-list input:focus, body .select-list select:focus {
    border-color: var(--pink-primary) !important;
    box-shadow: 0 0 0 3px rgba(185, 54, 107, .10);
    outline: 0;
}
body .form-control[disabled], body .form-control[readonly] { background-color: #f5edf1; }
body .select2-container--bootstrap .select2-selection,
body .select2-container--default .select2-selection,
body .select2-dropdown { color: var(--pink-text); border-color: var(--pink-border); border-radius: 7px; }
body .select2-container--bootstrap.select2-container--focus .select2-selection,
body .select2-container--bootstrap.select2-container--open .select2-selection { border-color: var(--pink-primary); }
body .select2-container--bootstrap .select2-results__option--highlighted[aria-selected],
body .select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #fff;
    background: var(--pink-primary);
}
body .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
    color: var(--pink-primary);
    background: var(--pink-soft);
    border-color: var(--pink-border);
}
body .btn { border-radius: 7px; }
/* 仅替换主操作色；成功、危险和警告按钮继续使用原来的语义颜色。 */
body .btn-primary,
body .btn-primary:focus,
body .btn-primary.disabled, body .btn-primary[disabled] {
    color: #fff;
    background-color: var(--pink-primary);
    border-color: var(--pink-primary);
}
body .btn-primary:hover, body .btn-primary:active,
body .btn-primary.active, body .open > .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: var(--pink-hover);
    border-color: var(--pink-hover);
}
body .btn-default { color: var(--pink-text); background: #fff; border-color: var(--pink-border); }
body .btn-default:hover, body .btn-default:focus { color: var(--pink-primary); background: var(--pink-soft); border-color: var(--pink-border); }
body .dropdown-menu { border: 1px solid var(--pink-border); border-radius: 10px; box-shadow: 0 8px 28px rgba(139, 62, 93, .12); }
body .dropdown-menu > li > a { color: var(--pink-text); }
body .dropdown-menu > li > a:hover, body .dropdown-menu > li > a:focus,
body .dropdown-menu > .active > a, body .dropdown-menu > .active > a:hover {
    color: var(--pink-primary);
    background: var(--pink-soft);
}
body .nav-tabs { border-bottom-color: var(--pink-border); }
body .nav-tabs > li.active > a, body .nav-tabs > li.active > a:hover,
body .nav-tabs > li.active > a:focus { color: var(--pink-primary); border-color: var(--pink-border); border-bottom-color: #fff; }
body .layui-layer { border-radius: 14px; box-shadow: 0 16px 48px rgba(110, 38, 68, .18); }
body .layui-layer .layui-layer-title,
body .layui-layer.layer-ext-moon .layui-layer-title {
    color: var(--pink-text);
    background: #fff0f6;
    border-bottom-color: var(--pink-border);
    border-radius: 14px 14px 0 0;
}
/* 弹窗原皮肤会异步加载，提高选择器优先级以避免恢复为蓝色。 */
body .layui-layer .layui-layer-btn,
body .layui-layer.layer-ext-moon .layui-layer-btn {
    background: #fffafd;
    border-top-color: var(--pink-border);
    border-radius: 0 0 14px 14px;
}
body .layui-layer .layui-layer-btn a,
body .layui-layer.layer-ext-moon .layui-layer-btn a { border-radius: 7px; }
body .layui-layer .layui-layer-btn .layui-layer-btn0,
body .layui-layer.layer-ext-moon .layui-layer-btn .layui-layer-btn0 {
    color: #fff;
    background: var(--pink-primary);
    border-color: var(--pink-primary);
}
body .layui-layer .layui-layer-btn .layui-layer-btn1,
body .layui-layer.layer-ext-moon .layui-layer-btn .layui-layer-btn1 {
    color: var(--pink-text);
    border-color: var(--pink-border);
    border-radius: 7px;
}
body .layui-laydate .layui-laydate-header,
body .layui-laydate .layui-laydate-content .layui-this { background-color: var(--pink-primary) !important; }
body .layui-laydate .laydate-footer-btns span:hover { color: var(--pink-primary); }
body .pink-theme-notice { margin: 24px; padding: 24px; border: 1px solid var(--pink-border); border-radius: 14px; background: #fff; }

/* 配套登录背景为本地静态资源；装饰不参与交互，也不依赖额外脚本。 */
body.signin.theme-pink {
    min-height: 100vh;
    height: auto;
    display: flex;
    align-items: center;
    padding: 40px 6%;
    background: #fff0f5 url('../img/login-background-pink.png') no-repeat center center;
    background-size: cover;
}
.theme-pink.signin .signinpanel {
    width: 440px;
    max-width: 100%;
    margin: 0 8% 0 auto;
    color: var(--pink-text);
}
.theme-pink.signin .signinpanel > .row { margin: 0; }
.theme-pink.signin .signinpanel > .row > .col-sm-3 { display: none; }
.theme-pink.signin .signinpanel > .row > .col-sm-5 { width: 100%; padding: 0; float: none; }
.theme-pink.signin .signinpanel form {
    padding: 38px 36px;
    margin: 0;
    background: rgba(255, 253, 253, .95);
    border: 1px solid #fff;
    border-radius: 26px;
    box-shadow: 0 20px 65px rgba(150, 64, 96, .14), 0 0 0 1px rgba(230, 181, 201, .35);
}
.pink-login-heading { text-align: center; margin-bottom: 26px; }
.pink-login-brand { margin: 16px 0 8px; font-size: 30px; font-weight: 700; color: var(--pink-primary); overflow-wrap: anywhere; }
.pink-login-heading p { margin: 0; color: var(--pink-muted); font-size: 13px; line-height: 1.7; }
.pink-login-bow { display: inline-block; position: relative; width: 12px; height: 18px; border-radius: 6px; background: #d56891; }
.pink-login-bow::before, .pink-login-bow::after {
    content: '';
    position: absolute;
    top: -5px;
    width: 27px;
    height: 28px;
    border: 1px solid #e6a4bf;
    background: linear-gradient(135deg, #ffd6e7, #ec9cbb);
}
.pink-login-bow::before { right: 10px; border-radius: 10px 6px 6px 10px; transform: rotate(-12deg); }
.pink-login-bow::after { left: 10px; border-radius: 6px 10px 10px 6px; transform: rotate(12deg); }
.theme-pink.signin .signinpanel h4 { color: var(--pink-text); font-size: 16px; font-weight: 600; }
.theme-pink.signin .signinpanel .form-control {
    height: 46px !important;
    padding: 10px 36px 10px 14px !important;
    border: 1px solid var(--pink-border);
    border-radius: 10px !important;
    background-color: #fff;
    color: var(--pink-text);
}
.theme-pink.signin .signinpanel .form-control::placeholder { color: var(--pink-muted); opacity: 1; }
.theme-pink.signin .signinpanel .form-control:focus { box-shadow: 0 0 0 3px rgba(185, 54, 107, .10); }
.theme-pink.signin .signinpanel #btnSubmit {
    min-height: 46px;
    margin-top: 22px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border: 1px solid var(--pink-primary);
    border-radius: 10px;
    background: linear-gradient(110deg, #c34479, #ae315f);
    box-shadow: 0 6px 16px rgba(185, 54, 107, .18);
}
.theme-pink.signin .signinpanel #btnSubmit:hover,
.theme-pink.signin .signinpanel #btnSubmit:focus { background: var(--pink-hover); border-color: var(--pink-hover); }
.theme-pink.signin .checkbox-custom label { color: var(--pink-muted); }
.theme-pink.signin .checkbox-custom label::before { border-color: var(--pink-border); border-radius: 4px; }
.theme-pink.signin .checkbox-custom input:checked + label::after { color: var(--pink-primary); }
.theme-pink.signin .checkbox-custom input:focus + label::before { outline: 2px solid var(--pink-primary); outline-offset: 2px; }
.theme-pink.signin .signup-footer { display: none; }
.theme-pink.signin label.error { color: #b62549; line-height: 1.6; }

@media (max-width: 991px) {
    body.signin.theme-pink { padding: 32px; }
    .theme-pink.signin .signinpanel { margin-right: 0; }
}
@media (max-width: 768px) {
    body.signin.theme-pink { padding: 28px 20px; background-position: 60% center; }
    .theme-pink.signin .signinpanel { width: 420px !important; padding: 0; margin: auto; }
    .theme-pink.signin .signinpanel form { padding: 32px 26px; }
    .theme-pink .navbar .dropdown-menu { background: #fffafd; }
    .theme-pink .navbar .dropdown-menu > li > a { color: var(--pink-text); }
}
@media (max-width: 360px) {
    body.signin.theme-pink { padding: 20px 14px; }
    .theme-pink.signin .signinpanel form { padding: 28px 20px; }
    .pink-login-brand { font-size: 26px; }
}
