/* 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; font-size: 15px; }
.pms-unified .pcoded-header { background: #f7faff !important; box-shadow: 0 1px 0 #dce6f1; }
.pms-unified .pcoded-header .navbar-logo { background: #142b48 !important; }
.pms-hotel .pcoded-header .navbar-logo, .pms-admin .pcoded-header .navbar-logo { display: flex !important; align-items: center !important; justify-content: center !important; height: 60px; padding: 0 !important; }
.pms-hotel .pcoded-header .navbar-logo > a[href="/dashboard/"], .pms-admin .pcoded-header .navbar-logo > a[href="/adminpms/hotelInfo/"] { display: flex; align-items: center; justify-content: center; width: 194px; height: 42px; padding: 0 8px !important; overflow: hidden; }
.pms-hotel .pcoded-header .navbar-logo img, .pms-admin .pcoded-header .navbar-logo img { display: block; width: 100% !important; max-width: 100%; height: 100% !important; object-fit: contain; filter: url(#pms-logo-color) !important; }
@media (max-width: 360px) { .pms-hotel .pcoded-header .navbar-logo > a[href="/dashboard/"], .pms-admin .pcoded-header .navbar-logo > a[href="/adminpms/hotelInfo/"] { width: 140px; } }
.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-header .nav-right .user-profile > .pms-account-trigger { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 16px !important; color: #25435f !important; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-avatar { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #e5effb; color: #2d6399 !important; font-size: 12px; font-weight: 700; box-shadow: none; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-name { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 600; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-trigger > i { margin: 0 0 0 2px; font-size: 10px; color: #66809a; }
.pms-unified .pcoded-header .nav-right .user-profile .profile-notification { right: 8px; width: 218px; padding: 6px; border: 1px solid #dce6f0; border-radius: 12px; background: #fff; box-shadow: 0 16px 38px rgba(20, 43, 72, .16); }
.pms-unified .pcoded-header .nav-right .user-profile .profile-notification li { padding: 0 !important; border: 0; background: transparent !important; }
.pms-unified .pcoded-header .nav-right .user-profile .profile-notification .pms-account-summary { display: flex; flex-direction: column; gap: 2px; margin: 0 4px 5px; padding: 11px 10px 12px !important; border-bottom: 1px solid #e6edf4; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-summary-label { color: #73899d !important; font-size: 11px; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-summary strong { color: #173b5d; font-size: 14px; overflow: hidden; text-overflow: ellipsis; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-action a { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 10px 12px !important; border-radius: 8px; color: #36536e !important; font-size: 13px !important; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-action a:hover, .pms-unified .pcoded-header .nav-right .user-profile .pms-account-action a:focus { margin: 0 !important; background: #eef4fa; color: #1a527f !important; }
.pms-unified .pcoded-header .nav-right .user-profile .pms-account-action i { width: 16px; margin: 0 !important; font-size: 15px !important; text-align: center; }
@media (max-width: 480px) { .pms-unified .pcoded-header .nav-right .user-profile > .pms-account-trigger { padding: 6px 10px !important; } .pms-unified .pcoded-header .nav-right .user-profile .pms-account-name { max-width: 70px; } }
.pms-unified .pcoded-navbar { background: #142b48 !important; }
.pms-unified .pcoded-navbar .pcoded-inner-navbar { background: #142b48 !important; }
.pms-unified .pcoded-navbar .pms-sidebar-account { display: flex; align-items: center; gap: 10px; position: fixed; top: calc(100vh - 66px); top: calc(100dvh - 66px); bottom: auto; left: 0; z-index: 1001; width: 240px; min-height: 66px; padding: 11px 18px; border-top: 1px solid rgba(190, 215, 239, .14); background: #142b48; box-sizing: border-box; }
.pms-unified .pcoded-navbar .pms-sidebar-avatar { display: inline-flex; flex: 0 0 32px; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #e5effb; color: #2d6399; font-size: 12px; font-weight: 700; }
.pms-unified .pcoded-navbar .pms-sidebar-account-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; line-height: 1.2; }
.pms-unified .pcoded-navbar .pms-sidebar-account-copy strong { overflow: hidden; color: #f1f7fd; font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pms-unified .pcoded-navbar .pms-sidebar-account-copy small { color: #9bb3ca; font-size: 12px; }
.pms-unified .pcoded-navbar .pcoded-inner-navbar { padding-bottom: 76px !important; }
.pms-unified #pcoded[vertical-nav-type="collapsed"] .pms-sidebar-account { width: 45px; justify-content: center; padding: 10px 0; }
.pms-unified #pcoded[vertical-nav-type="collapsed"] .pms-sidebar-account-copy { display: none; }
@media (max-width: 991px) { .pms-unified .pcoded-navbar .pms-sidebar-account { display: none; } }
.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-mtext { font-size: 15px !important; }
.pms-hotel .pcoded-navbar .pcoded-submenu li > a .pcoded-mtext { font-size: 14px !important; }
.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-container, .pms-unified .pcoded-main-container { background: #edf3f9 !important; }
.pms-unified .pcoded-content, .pms-unified .pcoded-inner-content { background: transparent !important; }
.pms-unified .pcoded-inner-content { padding: 0 !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 { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; margin: 0 0 18px !important; padding: 0 2px !important; border: 0 !important; border-radius: 0; background: transparent; box-shadow: none; }
.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: #173b5d !important; font-weight: 700; }
.pms-unified .main-body .page-wrapper .page-header h4 { font-size: 22px; line-height: 1.25; }
.pms-unified .main-body .page-wrapper .page-header .page-header-breadcrumb { float: none; margin: 0; }
.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: #6b839a !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: 14px; 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 { font-size: 14px; }
.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: 13px; 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: 13px; }
.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; }
.pms-unified .modal-content .checkbox-fade.fade-in-primary .cr { border-color: #6fa3cc; }
.pms-unified .modal-content .checkbox-fade.fade-in-primary .cr .cr-icon { color: #206bc4; }
.pms-unified .modal-content .input-group-addon { border-color: #dce6f0; background: #edf4fa; color: #315873; }
@media (max-width: 767px) { .pms-unified .main-body .page-wrapper { padding: 15px 10px 30px !important; } .pms-unified .main-body .page-wrapper .page-header { min-height: 36px; margin-bottom: 14px !important; padding: 0 4px !important; } .pms-unified .main-body .page-wrapper .page-header h4 { font-size: 20px; } .pms-unified .main-body .page-wrapper .page-header .page-header-breadcrumb { display: none; } .pms-unified .page-body .card .card-header, .pms-unified .page-body .card .card-block { padding: 18px; } }
/* Keep the mobile menu in the viewport while the page scrolls behind it. */
@media (max-width: 991px) {
  .pms-unified .pcoded-main-container { margin-top: 60px !important; }
  .pms-unified #pcoded[pcoded-device-type="phone"] .pcoded-navbar {
    position: fixed !important;
    top: 60px !important;
    bottom: 0 !important;
    height: calc(100vh - 60px) !important;
    height: calc(100dvh - 60px) !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .pms-unified #pcoded[pcoded-device-type="phone"] .pcoded-navbar .pcoded-inner-navbar {
    height: auto !important;
    min-height: 100%;
    overflow: visible !important;
  }
}
@media (min-width: 992px) {
  .pms-hotel .pcoded-header .navbar-logo { height: 60px; }
  .pms-unified .pcoded-navbar { width: 240px !important; min-width: 240px !important; height: 100vh !important; height: 100dvh !important; }
  .pms-unified .pcoded-navbar .pcoded-inner-navbar { width: 240px !important; max-height: calc(100vh - 66px); max-height: calc(100dvh - 66px); overflow-y: auto; overscroll-behavior: contain; }
  .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: attr(data-business-label); 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: attr(data-system-label); display: block; color: #80a0bf; font-size: 11px; font-weight: 700; letter-spacing: .12em; padding: 24px 24px 9px; }
/* The admin menu keeps every submenu visible. Keep its desktop rail and content
   in the same expanded state even when the theme restores "collapsed". */
@media (min-width: 992px) {
  .pms-admin #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar,
  .pms-admin #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-inner-navbar { width: 240px !important; min-width: 240px !important; }
  .pms-admin #pcoded[vertical-nav-type="collapsed"] .pcoded-content { margin-left: 240px !important; width: calc(100% - 240px) !important; }
  .pms-admin #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li,
  .pms-admin #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-submenu { width: 100% !important; }
  .pms-admin #pcoded[vertical-nav-type="collapsed"] .pms-sidebar-account { width: 240px; justify-content: flex-start; padding: 11px 18px; }
  .pms-admin #pcoded[vertical-nav-type="collapsed"] .pms-sidebar-account-copy { display: flex; }
  .pms-admin .pcoded-header .sidebar_toggle { display: none; }
}

/* Both sign-in pages share the same brand palette without changing their forms. */
body.pms-login .login { display: flex !important; position: relative !important; min-height: 100vh; min-height: 100dvh; height: auto; padding: 24px 16px; align-items: center; justify-content: center; box-sizing: border-box; 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 > .container-fluid { width: 100%; max-width: 500px; margin: auto; padding: 0; }
body.pms-login .login > .container-fluid > .row { margin: 0; }
body.pms-login .login-card { min-width: 0; margin: 0; padding: 0; 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 { display: block; width: 220px !important; max-width: 85%; height: auto; margin: 0 auto; object-fit: contain; filter: url(#pms-logo-color); }
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 { margin: 0; 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 .pms-login-feedback { margin: 0 0 18px; padding: 12px 14px; border: 1px solid #e9aaa5; border-radius: 8px; background: #fff0ee; color: #8b2923; font-size: 14px; font-weight: 600; line-height: 1.45; text-align: left; }
body.pms-login .auth-box .pms-login-feedback p { margin: 0; color: inherit; }
body.pms-login .auth-box .pms-login-feedback p + p { margin-top: 8px; }
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; }

/* Keep navigation anchored while the workspace scrolls independently. */
body.pms-unified { height: 100vh; height: 100dvh; overflow: hidden; }
.pms-unified .pcoded-header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 1030; }
.pms-unified .pcoded-main-container { margin-top: 60px !important; height: calc(100vh - 60px); height: calc(100dvh - 60px); }
.pms-unified .pcoded-wrapper { height: 100%; }
.pms-unified .pcoded-navbar { position: fixed !important; top: 60px !important; bottom: 0; height: calc(100vh - 60px) !important; height: calc(100dvh - 60px) !important; overflow-y: auto; overscroll-behavior-y: contain; }
.pms-unified .pcoded-content { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
.pms-unified .pcoded-header { height: 60px !important; min-height: 60px !important; }
.pms-unified .pcoded-header > .navbar-wrapper, .pms-unified .pcoded-header .navbar-container { height: 60px; }
.pms-unified .pcoded-main-container { min-height: 0 !important; }

/* Cover the entire app, including fixed navigation, until initialization ends. */
.pms-unified .theme-loader { inset: 0; width: 100%; height: 100%; z-index: 2147483000; background: #f5f8fc; }
.pms-unified .theme-loader .ball-scale { top: 50%; transform: translateY(-50%); }
.pms-unified .theme-loader .ball-scale > div { width: 32px; height: 32px; border: 3px solid #dce6ef; border-top-color: #206bc4; background: transparent; animation: pms-loading-spin .8s linear infinite; }
.pms-unified .theme-loader .ball-scale::after { content: attr(data-loading-label); display: block; margin-top: 12px; color: #526f87; font-size: 14px; }
@keyframes pms-loading-spin { to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .pms-unified .theme-loader .ball-scale > div { animation: none; } }

.pms-admin .pcoded-header .navbar-logo { height: 60px; }

@media (min-width: 768px) { .pms-admin #pcoded .pcoded-navbar, .pms-admin #pcoded .pcoded-inner-navbar { width: 240px !important; min-width: 240px !important; } .pms-admin #pcoded .pcoded-content { margin-left: 240px !important; width: calc(100% - 240px) !important; } }

/* Admin navigation is a full-width menu, never an icon-only rail. */
.pms-admin #pcoded .pcoded-navbar { width: 240px !important; min-width: 240px !important; overflow-x: hidden; }
.pms-admin #pcoded .pcoded-navbar .pcoded-inner-navbar { width: 240px !important; min-width: 240px !important; overflow-x: hidden; }
.pms-admin #pcoded .pcoded-navbar .pcoded-item,
.pms-admin #pcoded .pcoded-navbar .pcoded-item > li,
.pms-admin #pcoded .pcoded-navbar .pcoded-submenu,
.pms-admin #pcoded .pcoded-navbar .mCSB_container { width: 100% !important; max-width: 240px !important; min-width: 0 !important; box-sizing: border-box; }
.pms-admin #pcoded .pcoded-navbar .pcoded-submenu > li { width: 100% !important; }
@media(max-width:767px) { .pms-admin #pcoded .pcoded-content { margin-left: 0 !important; width: 100% !important; } }
/* Override the theme's attribute-specific collapsed width after resizing. */
.pms-admin #pcoded[vertical-nav-type] .pcoded-navbar,
.pms-admin #pcoded[vertical-nav-type] .pcoded-navbar .pcoded-inner-navbar { width: 240px !important; min-width: 240px !important; }
.pms-admin #pcoded[vertical-nav-type] .pcoded-navbar .pcoded-item > li,
.pms-admin #pcoded[vertical-nav-type] .pcoded-navbar .pcoded-submenu { width: 100% !important; }
.pms-admin #pcoded .pcoded-navbar .pcoded-hasmenu::before,
.pms-admin #pcoded .pcoded-navbar .pcoded-submenu > li::before { white-space: nowrap; }
@media(min-width:768px) {
  .pms-admin #pcoded[vertical-nav-type] .pcoded-navbar { left: 0 !important; margin-left: 0 !important; }
  .pms-admin #pcoded[vertical-nav-type] .pcoded-content { margin-left: 240px !important; width: calc(100% - 240px) !important; }
}
@media(max-width:767px) {
  .pms-admin #pcoded[vertical-nav-type="offcanvas"] .pcoded-navbar { left: -240px !important; }
  .pms-admin #pcoded[vertical-nav-type="expanded"] .pcoded-navbar { left: 0 !important; }
  .pms-admin #pcoded[vertical-nav-type] .pcoded-content { margin-left: 0 !important; width: 100% !important; }
}
@media(max-width:767px) { .pms-admin #pcoded[vertical-nav-type] .pcoded-navbar { margin-left: 0 !important; } }

.pms-admin #pcoded[vertical-nav-type] .pcoded-navbar .pcoded-item > li.pcoded-hasmenu > .pcoded-submenu { transform: none !important; transform-origin: center !important; animation: none !important; transition: none !important; display: block !important; height: auto !important; opacity: 1 !important; visibility: visible !important; }
/* Match the hotel shell brand alignment and reserve space for tablet controls. */
.pms-hotel .pcoded-header .navbar-logo { justify-content: flex-start !important; }
.pms-hotel .pcoded-header .navbar-logo > a[href="/dashboard/"] { width: 194px; margin-left: 12px; padding: 0 !important; justify-content: flex-start; }
.pms-hotel .pcoded-header .navbar-logo img { object-position: left center; }
.pms-hotel .pcoded-header .navbar-logo .mobile-menu { left: 246px !important; right: auto !important; }
.pms-hotel .pcoded-header .navbar-logo .mobile-search { left: 286px !important; right: auto !important; }
@media (max-width: 767px) {
  .pms-hotel .pcoded-header .navbar-logo > a[href="/dashboard/"] { width: 140px !important; flex-shrink: 0; }
  .pms-hotel .pcoded-header .navbar-logo .mobile-menu { left: auto !important; right: 64px !important; }
  .pms-hotel .pcoded-header .navbar-logo .mobile-search { display: none !important; }
}

/* The collapsed hotel navigation is a stable icon rail, not a hover flyout. */
@media (min-width: 768px) {
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar,
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-inner-navbar { width: 56px !important; min-width: 56px !important; }
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-content { margin-left: 56px !important; width: calc(100% - 56px) !important; }
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-mtext,
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-mcaret,
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-submenu { display: none !important; }
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-item > li > a { margin: 4px 6px !important; padding: 12px 0 !important; width: 44px !important; text-align: center; }
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pcoded-navbar .pcoded-micon { margin: 0 !important; float: none !important; }
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pms-sidebar-account { width: 56px !important; padding: 10px 8px; }
 .pms-hotel #pcoded[vertical-nav-type="collapsed"] .pms-sidebar-account > :not(.pms-account-avatar) { display: none; }
}

/* Responsive hotel navigation: expanded columns always reserve content space. */
.pms-hotel #pcoded[data-pms-nav] .pcoded-navbar { left: 0 !important; margin-left: 0 !important; }
.pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-navbar,
.pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-inner-navbar { width: 240px !important; min-width: 240px !important; }
.pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-submenu { position: static !important; width: auto !important; transform: none !important; }
.pms-hotel #pcoded[data-pms-nav="expanded"] li.pcoded-trigger > .pcoded-submenu { display: block !important; opacity: 1 !important; visibility: visible !important; }
.pms-hotel #pcoded[data-pms-nav="collapsed"] .pms-sidebar-avatar { display: flex !important; }
.pms-nav-preference { display: none; margin: 18px 16px 80px; color: #c4d3e3; font-size: 12px; align-items: flex-start; gap: 8px; cursor: pointer; }
.pms-nav-preference input { margin-top: 3px; flex-shrink: 0; }
@media(min-width:1280px) { .pms-hotel #pcoded[data-pms-nav="expanded"] .pms-nav-preference { display: flex; } }
@media(min-width:768px) {
 .pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-content { margin-left: 240px !important; width: calc(100% - 240px) !important; }
 .pms-hotel #pcoded[data-pms-nav="collapsed"] .pcoded-content { margin-left: 56px !important; width: calc(100% - 56px) !important; }
 .pms-hotel #pcoded[data-pms-nav] .pcoded-overlay-box { display: none !important; }
}
@media(max-width:767px) {
 .pms-hotel #pcoded[data-pms-nav] .pcoded-content { margin-left: 0 !important; width: 100% !important; }
 .pms-hotel #pcoded[data-pms-nav="offcanvas"] .pcoded-navbar { left: -240px !important; visibility: hidden; }
 .pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-navbar { visibility: visible; }
}
.pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-submenu { display: none !important; height: auto !important; }
.pms-hotel #pcoded[data-pms-nav="expanded"] li.pcoded-trigger > .pcoded-submenu { display: block !important; }
.pms-hotel #pcoded .pms-nav-preference { position: fixed !important; left: 12px !important; bottom: 68px !important; top: auto !important; right: auto !important; width: 216px !important; height: auto !important; margin: 0 !important; padding: 12px 4px !important; background: #142b48; z-index: 1050; transform: none !important; white-space: normal; }
.pms-hotel #pcoded .pms-nav-preference input { position: static !important; width: 16px !important; height: 16px !important; opacity: 1 !important; }
.pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-inner-navbar { padding-bottom: 70px; }
/* Keep long menus scrollable without the native white gutter or horizontal overflow. */
.pms-hotel #pcoded[data-pms-nav] .pcoded-navbar .pcoded-inner-navbar {
 height: auto !important;
 max-height: none !important;
 overflow: visible !important;
}
.pms-hotel #pcoded[data-pms-nav] .pcoded-navbar {
 overflow-x: hidden;
 scrollbar-width: thin;
 scrollbar-color: #637e99 #142b48;
}
.pms-hotel #pcoded[data-pms-nav] .pcoded-navbar::-webkit-scrollbar { width: 6px; }
.pms-hotel #pcoded[data-pms-nav] .pcoded-navbar::-webkit-scrollbar-track { background: #142b48; }
.pms-hotel #pcoded[data-pms-nav] .pcoded-navbar::-webkit-scrollbar-thumb { background: #637e99; border-radius: 6px; }
.pms-hotel #pcoded[data-pms-nav] .pcoded-navbar::-webkit-scrollbar-thumb:hover { background: #8ba2b9; }
.pms-hotel #pcoded[data-pms-nav="expanded"] .pcoded-navbar .pcoded-inner-navbar {
 width: 100% !important;
 min-width: 0 !important;
}

/* Immediate feedback during the native login form submission. */
.pms-login #pms-login-submit, .pms-login #login_sub { display:flex; align-items:center; justify-content:center; gap:10px; }
.pms-login #pms-login-submit:disabled, .pms-login #login_sub:disabled { cursor:wait; opacity:.8; }
.pms-login .pms-login-spinner { width:18px; height:18px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:pms-login-spin .7s linear infinite; flex-shrink:0; }
.pms-login .pms-login-spinner[hidden] { display:none; }
@keyframes pms-login-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .pms-login .pms-login-spinner { animation:none; } }

/* Compact language control shared by the application shell and sign-in page. */
.pms-language-switch { display:inline-flex; align-items:center; gap:4px; margin:0; }
.pms-language-switch button { border:0; background:transparent; color:#536b88; padding:8px 10px; border-radius:5px; font:inherit; font-size:14px; line-height:20px; cursor:pointer; }
.pms-language-switch button[aria-current="true"] { color:#1763d7; background:#edf4ff; font-weight:600; }
.pms-language-switch button:focus-visible { outline:2px solid #1763d7; outline-offset:2px; }
.pms-login .pms-language-switch { display:flex; justify-content:flex-end; margin-bottom:12px; }
html[lang="zh-hans"] .nr-page #select_room tbody td:nth-child(3)::before { content:'人数'; }
html[lang="zh-hans"] .nr-page #select_room tbody td:nth-child(4)::before { content:'宠物'; }
/* Keep the expanded tree scrollable without a white native scrollbar track. */
.pms-unified .pcoded-navbar,
.pms-unified .pcoded-navbar .pcoded-inner-navbar {
 scrollbar-width:thin;
 scrollbar-color:#58718a #142b48;
 overscroll-behavior-y:contain;
}
.pms-unified .pcoded-navbar::-webkit-scrollbar,
.pms-unified .pcoded-navbar .pcoded-inner-navbar::-webkit-scrollbar { width:6px; height:6px; }
.pms-unified .pcoded-navbar::-webkit-scrollbar-track,
.pms-unified .pcoded-navbar .pcoded-inner-navbar::-webkit-scrollbar-track { background:#142b48; }
.pms-unified .pcoded-navbar::-webkit-scrollbar-thumb,
.pms-unified .pcoded-navbar .pcoded-inner-navbar::-webkit-scrollbar-thumb { background:#58718a; border-radius:6px; }
.pms-unified .pcoded-navbar::-webkit-scrollbar-button,
.pms-unified .pcoded-navbar .pcoded-inner-navbar::-webkit-scrollbar-button { display:none; }
/* Pointer focus stays clean; keyboard navigation keeps a consistent blue cue. */
html body :is(button,a,input,select,textarea,[role="button"],[tabindex]):focus:not(:focus-visible) { outline:none!important; }
html body :is(button,a,input,select,textarea,[role="button"],[tabindex]):focus-visible { outline:2px solid #8bb9ed!important; outline-offset:2px; }
