/* Shared visual system for legacy Bootstrap 3 PMS pages. Keep the existing JS widgets. */
body.pms-unified { background: #edf3f9; color: #263e57; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; }
.pms-unified .pcoded-header { background: #f7faff !important; box-shadow: 0 1px 0 #dce6f1; }
.pms-unified .pcoded-header .navbar-logo { background: #142b48 !important; }
.pms-unified .pcoded-header .navbar-logo img { width: 205px; max-width: calc(100% - 18px); height: 47px; object-fit: contain; filter: brightness(0) invert(1); }
.pms-unified .pcoded-header .navbar-container { background: #f7faff !important; }
.pms-unified .pcoded-header .nav-left a, .pms-unified .pcoded-header .nav-right a, .pms-unified .pcoded-header .nav-right span { color: #35516d !important; }
.pms-unified .pcoded-header .nav-right .badge { color: #fff !important; }
.pms-unified .pcoded-navbar { background: #142b48 !important; }
.pms-unified .pcoded-navbar .pcoded-inner-navbar { background: #142b48 !important; }
.pms-unified .pcoded-navbar .pcoded-item > li > a, .pms-unified .pcoded-navbar .pcoded-submenu > li > a { color: #c4d3e3 !important; border-radius: 8px; margin: 2px 10px; }
.pms-hotel .pcoded-navbar .pcoded-item > li > a .pcoded-mtext { opacity: 1 !important; visibility: visible !important; display: inline-block !important; position: static !important; margin-left: 8px !important; color: inherit !important; }
.pms-hotel .pcoded-navbar .pcoded-item > li > a { display: flex !important; align-items: center; min-height: 42px; }
.pms-hotel .pcoded-navbar .pcoded-item > li > a .pcoded-micon { flex: 0 0 32px; }
.pms-hotel .pcoded-navbar .pcoded-item > li > a .pcoded-mcaret { margin-left: auto; }
.pms-hotel .pcoded-navbar .pcoded-item > li:not(.pcoded-hasmenu) > a .pcoded-mcaret { display: none !important; }
.pms-hotel .pcoded-navbar .pcoded-item > li.pcoded-trigger:not(.active) > a { background: transparent !important; box-shadow: none !important; color: #c4d3e3 !important; }
.pms-hotel .pcoded-navbar .pcoded-item > li.pcoded-trigger:not(.active) > a:hover { background: #244363 !important; color: #fff !important; }
.pms-hotel .pcoded-navbar .pcoded-item > li.pcoded-trigger:not(.active) > a .pcoded-mtext { color: inherit !important; }
.pms-hotel .pcoded-navbar .pcoded-item > li.pcoded-hasmenu.active > a { background: #244363 !important; box-shadow: none !important; color: #e8f4f7 !important; }
.pms-unified .pcoded-navbar .pcoded-item > li > a:hover, .pms-unified .pcoded-navbar .pcoded-submenu > li > a:hover { background: #244363 !important; color: #fff !important; }
.pms-unified .pcoded-navbar .pcoded-item li.active > a, .pms-unified .pcoded-navbar .pcoded-item li.pcoded-trigger > a { background: #2b4059 !important; color: #fff !important; box-shadow: none !important; }
.pms-unified .pcoded-navbar .pcoded-item li.active, .pms-unified .pcoded-navbar .pcoded-item li.pcoded-trigger { background: transparent !important; }
.pms-unified .pcoded-navbar .pcoded-item > li.active > a, .pms-unified .pcoded-navbar .pcoded-item > li.pcoded-trigger > a { background: #2b4059 !important; color: #fff !important; }
.pms-unified #pcoded .pcoded-navbar[navbar-theme="theme4"] .pcoded-item > li.active > a,
.pms-unified #pcoded .pcoded-navbar[navbar-theme="theme4"] .pcoded-item > li.pcoded-trigger > a { background: #2b4059 !important; box-shadow: none !important; }
.pms-unified #pcoded .pcoded-navbar[navbar-theme="theme4"] .pcoded-item > li.active > a::before,
.pms-unified #pcoded .pcoded-navbar[navbar-theme="theme4"] .pcoded-item > li.pcoded-trigger > a::before { display: none !important; }
.pms-unified .pcoded-navbar .pcoded-item li.active > a .pcoded-mtext, .pms-unified .pcoded-navbar .pcoded-item li.pcoded-trigger > a .pcoded-mtext, .pms-unified .pcoded-navbar .pcoded-item li.active > a i { color: #fff !important; }
.pms-unified .pcoded-navbar .pcoded-submenu { background: #142b48 !important; }
/* Keep the navigation hierarchy inside the sidebar instead of the theme's popover layout. */
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-hasmenu > .pcoded-submenu { width: auto !important; min-width: 0 !important; margin: 2px 10px 8px 27px !important; padding: 2px 0 2px 11px !important; border-left: 1px solid #42617c; box-shadow: none !important; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-hasmenu.pcoded-trigger > .pcoded-submenu { position: relative !important; left: auto !important; top: auto !important; transform: none !important; opacity: 1 !important; visibility: visible !important; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li > a { min-height: 38px; display: flex !important; align-items: center; margin: 2px 0 !important; padding: 8px 10px 8px 21px !important; border-radius: 7px; line-height: 1.35; position: relative; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li > a::before { content: ""; position: absolute; left: -12px; top: 50%; width: 12px; border-top: 1px solid #42617c; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li > a::after { display: none !important; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li > a .pcoded-micon { display: none !important; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li > a .pcoded-mtext::before, .pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li > a .pcoded-mtext::after { content: none !important; display: none !important; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li.active > a { background: #2b4059 !important; color: #fff !important; box-shadow: none !important; }
.pms-hotel .pcoded-navbar .pcoded-item .pcoded-submenu li.active > a .pcoded-mtext { color: inherit !important; }
.pms-hotel #pcoded .pcoded-navbar[navbar-theme="theme4"] .pcoded-item > li.pcoded-hasmenu.active > a { background: #244363 !important; color: #e8f4f7 !important; box-shadow: none !important; }
.pms-hotel #pcoded .pcoded-navbar[navbar-theme="theme4"] .pcoded-item > li.pcoded-hasmenu.active > a::before { display: none !important; }
.pms-hotel #pcoded .pcoded-navbar[navbar-theme="theme4"] .pcoded-item > li.pcoded-hasmenu.active > a::after { display: none !important; }
/* The plugin sets iscollapsed on the header even when desktop navigation is expanded.
   Use vertical-nav-type, its actual menu state, for compact-only styling. */
.pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li { width: 100% !important; }
.pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li > a { box-sizing: border-box; width: calc(100% - 8px) !important; min-height: 42px; margin: 2px 4px !important; padding: 0 !important; justify-content: center; overflow: hidden; }
.pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li > a .pcoded-micon { display: flex !important; flex: 0 0 24px !important; align-items: center; justify-content: center; width: 24px !important; margin: 0 !important; padding: 0 !important; }
.pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li > a .pcoded-mtext,
.pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li > a .pcoded-mcaret { display: none !important; }
.pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item .pcoded-hasmenu > .pcoded-submenu { display: none !important; }
@media (max-width: 991px), (max-height: 700px) {
  .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li > a { height: 36px; min-height: 36px; margin-top: 1px !important; margin-bottom: 1px !important; }
}
.pms-unified .pcoded-content, .pms-unified .pcoded-inner-content { background: transparent !important; }
.pms-unified .main-body .page-wrapper { background: linear-gradient(145deg, #e9f1fa 0, #f4f7fb 520px, #edf3f9 100%); min-height: calc(100vh - 60px); padding: 24px 18px 40px !important; }
.pms-unified .main-body .page-wrapper .page-header { margin: 0 0 24px !important; padding: 26px 32px !important; border: 0 !important; border-radius: 15px; background: linear-gradient(115deg, #163557 0%, #20537a 64%, #257d8e 100%); box-shadow: 0 12px 30px rgba(19,61,99,.18); }
.pms-unified .main-body .page-wrapper .page-header h4, .pms-unified .main-body .page-wrapper .page-header h3, .pms-unified .main-body .page-wrapper .page-header .page-header-title { color: #fff !important; font-weight: 700; }
.pms-unified .main-body .page-wrapper .page-header .breadcrumb-title, .pms-unified .main-body .page-wrapper .page-header .breadcrumb-title a, .pms-unified .main-body .page-wrapper .page-header .breadcrumb-item { color: #c6e0ef !important; }
.pms-unified .page-body .card { background: #fff; border: 1px solid #dbe6f0; border-radius: 12px; box-shadow: 0 10px 35px rgba(26,62,99,.075); overflow: visible; }
.pms-unified .page-body .card .card-header { background: #fff; border-bottom: 1px solid #e3ebf3; padding: 22px 26px; }
.pms-unified .page-body .card .card-header h5, .pms-unified .page-body .card .card-header h4 { color: #193b5e; font-weight: 700; font-size: 17px; }
.pms-unified .page-body .card .card-block { padding: 24px 26px; }
.pms-unified .page-body .card .table-responsive { border: 0; margin-top: 18px; }
.pms-unified .page-body table.table { background: #fff; border: 0 !important; border-collapse: separate; border-spacing: 0; }
.pms-unified .page-body table.table thead { background: #f1f6fb; }
.pms-unified .page-body table.table thead th { color: #617a93; font-size: 12px; font-weight: 700; letter-spacing: .03em; border: 0 !important; border-bottom: 1px solid #dbe7f2 !important; padding: 16px 18px; white-space: nowrap; }
.pms-unified .page-body table.table tbody tr { background: #fff; }
.pms-unified .page-body table.table tbody tr:nth-child(even) { background: #f9fbfd; }
.pms-unified .page-body table.table tbody tr:hover { background: #f0f7fc; }
.pms-unified .page-body table.table tbody td { color: #405b73; border: 0 !important; border-bottom: 1px solid #e7eef5 !important; padding: 16px 18px; vertical-align: middle; }
.pms-unified .page-body table.table tbody td:first-child { color: #163b5d; font-weight: 600; }
.pms-unified .form-control, .pms-unified select.form-control { border: 1px solid #dce6f0; border-radius: 7px; background: #f8fbfe; box-shadow: none; color: #2a445c; }
.pms-unified .form-control:focus { background: #fff; border-color: #63a8d3; box-shadow: 0 0 0 3px rgba(56, 149, 202, .12); }
.pms-unified .btn { border-radius: 7px; font-weight: 600; box-shadow: none; }
.pms-unified .btn-primary { background: #206bc4; border-color: #206bc4; color: #fff; }
.pms-unified .btn-primary:hover { background: #18599f; border-color: #18599f; }
.pms-unified .btn-success, .pms-unified .btn-info { background: #26ae9c; border-color: #26ae9c; color: #fff; }
.pms-unified .btn-success:hover, .pms-unified .btn-info:hover { background: #1d9686; border-color: #1d9686; }
.pms-unified .btn-danger { background: #c85e52; border-color: #c85e52; color: #fff; }
.pms-unified .btn-danger:hover { background: #af4d41; border-color: #af4d41; }
.pms-unified .page-body .btn-default { background: #edf3f6; border-color: #dce7ed; color: #36566c; }
.pms-unified .page-body .btn-default:hover { background: #dfeaf0; border-color: #c8dbe4; color: #1c485f; }
.pms-unified .page-body .btn:focus-visible, .pms-unified .page-body a:focus-visible, .pms-unified .page-body input:focus-visible, .pms-unified .page-body select:focus-visible { outline: 2px solid #168ea0; outline-offset: 2px; }
.pms-unified .page-body .label { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.pms-unified .page-body .label-success { background: #e5f5ec !important; color: #136b4b !important; }
.pms-unified .page-body .label-info { background: #e5f0fa !important; color: #1d628e !important; }
.pms-unified .page-body .label-warning { background: #fff0dd !important; color: #89520f !important; }
.pms-unified .page-body .label-danger { background: #fce9e7 !important; color: #a83e35 !important; }
.pms-unified .page-body .label-default, .pms-unified .page-body .label-inverse-default { background: #edf2f5 !important; color: #536b7e !important; }
.pms-unified .btn-mini { padding: 6px 11px; font-size: 12px; }
.pms-unified .dataTables_info, .pms-unified .dataTables_paginate, .pms-unified .page { color: #69829a; }
.pms-unified .modal-content { border: 0; border-radius: 12px; box-shadow: 0 20px 55px rgba(18, 39, 65, .22); overflow: hidden; }
.pms-unified .modal-header { background: #f1f6fb; border-bottom: 1px solid #dce8f3; }
.pms-unified .modal-title { color: #193b5e; font-weight: 700; }
.pms-unified .modal-footer { background: #f7fafd; border-top: 1px solid #e1eaf3; }
@media (max-width: 767px) { .pms-unified .main-body .page-wrapper { padding: 15px 10px 30px !important; } .pms-unified .main-body .page-wrapper .page-header { padding: 22px !important; } .pms-unified .page-body .card .card-header, .pms-unified .page-body .card .card-block { padding: 18px; } }
@media (min-width: 992px) {
  .pms-unified .pcoded-navbar { width: 240px !important; min-width: 240px !important; }
  .pms-unified .pcoded-navbar .pcoded-inner-navbar { width: 240px !important; }
  .pms-unified .pcoded-content { margin-left: 240px !important; width: calc(100% - 240px) !important; }
  .pms-unified #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar,
  .pms-unified #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-inner-navbar { width: 45px !important; min-width: 45px !important; }
  .pms-unified #pcoded[vertical-nav-type="collapsed"] .pcoded-content { margin-left: 45px !important; width: calc(100% - 45px) !important; }
}
.pms-admin .pcoded-navbar .pcoded-item > li.pcoded-hasmenu > a { display: none !important; }
.pms-admin .pcoded-navbar .pcoded-item > li.pcoded-hasmenu::before { content: "业务管理"; display: block; color: #80a0bf; font-size: 11px; font-weight: 700; letter-spacing: .12em; padding: 24px 24px 9px; }
.pms-admin .pcoded-navbar .pcoded-item > li.pcoded-hasmenu > .pcoded-submenu { display: block !important; position: static !important; width: auto !important; min-width: 0 !important; height: auto !important; visibility: visible !important; opacity: 1 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
.pms-admin .pcoded-navbar .pcoded-submenu > li > a { padding: 12px 14px !important; margin: 2px 10px !important; }
.pms-admin .pcoded-navbar .pcoded-submenu .pcoded-micon { display: none !important; }
.pms-admin .pcoded-navbar .pcoded-submenu .pcoded-mtext::before { content: none !important; display: none !important; }
.pms-admin .pcoded-navbar .pcoded-submenu > li > a:hover .pcoded-mtext, .pms-admin .pcoded-navbar .pcoded-submenu > li.active > a .pcoded-mtext { color: #fff !important; }
.pms-admin .pcoded-navbar .pcoded-submenu > li:nth-child(8)::before { content: "系统管理"; display: block; color: #80a0bf; font-size: 11px; font-weight: 700; letter-spacing: .12em; padding: 24px 24px 9px; }

/* Both sign-in pages share the same brand palette without changing their forms. */
body.pms-login .login { min-height: 100vh; background: radial-gradient(circle at 78% 18%, rgba(50,175,177,.28), transparent 35%), linear-gradient(125deg, #112a48 0%, #1c4c70 66%, #23798a 100%) !important; }
body.pms-login .login-card { background: transparent; }
body.pms-login .md-float-material > .text-center { max-width: 430px; margin: 0 auto 18px; }
body.pms-login .md-float-material > .text-center img { width: 195px !important; max-width: 85%; height: auto; filter: brightness(0) invert(1); }
body.pms-login .md-float-material > .text-center h3, body.pms-login .md-float-material > .text-center p { color: #fff !important; text-align: center !important; }
body.pms-login .md-float-material > .text-center h3 { margin-top: 12px; font-weight: 700; }
body.pms-login .md-float-material > .text-center p { color: #bfdbe8 !important; }
body.pms-login .auth-box { background: #fff; border: 1px solid #dbe6f0; border-radius: 15px; box-shadow: 0 22px 60px rgba(4,27,50,.28); padding: 30px; }
body.pms-login .auth-box h3 { color: #173e60 !important; font-weight: 700; }
body.pms-login .auth-box .form-control { border: 1px solid #dce6f0; border-radius: 8px; background: #f8fbfe; box-shadow: none; min-height: 43px; }
body.pms-login .auth-box .form-control:focus { border-color: #63a8d3; background: #fff; box-shadow: 0 0 0 3px rgba(56,149,202,.12); }
body.pms-login .auth-box .btn-primary { background: #206bc4; border-color: #206bc4; border-radius: 8px; font-weight: 700; }
body.pms-login .auth-box .btn-primary:hover { background: #18599f; border-color: #18599f; }
