:root { --sidebar-width: 250px; --topbar-height: 70px; --navy: #405189; --navy-deep: #364574; --blue: #3577f1; --body-bg: #f3f3f9; --card: #fff; --text: #495057; --muted: #878a99; --border: #e9ebec; font-family: "Segoe UI", "Microsoft JhengHei", Arial, sans-serif; color: var(--text); background: var(--body-bg); }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--body-bg); }

/* DPCP 原始系統樣式：固定式深色左側導覽列。 */
[data-layout="vertical"][data-sidebar="dark"] .app-menu { background: #1a2b4a; }
[data-layout="vertical"][data-sidebar="dark"] .navbar-brand-box { border-bottom: 1px solid #2d4270; }
[data-layout="vertical"][data-sidebar="dark"] .navbar-brand-box .logo { justify-content: flex-start; padding-left: 20px; }
[data-layout="vertical"][data-sidebar="dark"] .navbar-menu .navbar-nav .nav-link { color: #b0c4d8; font-size: 13.5px; }
[data-layout="vertical"][data-sidebar="dark"] .navbar-menu .navbar-nav .nav-link:hover,
[data-layout="vertical"][data-sidebar="dark"] .navbar-menu .navbar-nav .nav-link.active { background: #2d4270; color: #fff; border-radius: 4px; margin: 0 8px; }
[data-layout="vertical"][data-sidebar="dark"] .navbar-menu .navbar-nav .menu-title { color: #6a8aaa; font-size: 11px; letter-spacing: 1px; }
.dpcs-sidebar-account { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; min-height: 66px; padding: 10px 14px; border-top: 1px solid #dbe3ef; background: #fff; }
.dpcs-sidebar-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #245fd1; color: #fff; font-size: 13px; font-weight: 700; }
.dpcs-sidebar-account-name { display: grid; gap: 2px; margin-left: 10px; color: #29436b; font-size: 13px; font-weight: 600; line-height: 1.2; }
.dpcs-sidebar-account-name small { color: #8191a8; font-size: 11px; font-weight: 400; }
.dpcs-sidebar-logout-icon { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 4px; background: transparent; color: #7890ad; font-size: 18px; }
.dpcs-sidebar-logout-icon:hover { background: #eef4ff; color: #24579d; }

/*
   保持第三方版型的 horizontal 核心規則，避免其 vertical 模式重設各頁容器；
   僅在 DPCS 殼層把導覽列固定在左側。
*/
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar.app-menu {
    position: fixed !important; inset: 0 auto 0 0 !important; width: var(--sidebar-width) !important;
    margin: 0 !important; padding: 0 !important; background: #1a2b4a !important; border: 0 !important;
    box-shadow: none !important; z-index: 1001;
}
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box {
    display: block !important; position: relative !important; width: 100% !important; height: var(--topbar-height) !important;
    padding: 0 !important; border-bottom: 1px solid #2d4270;
}
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box .logo { display: flex !important; height: 100%; padding-left: 20px; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box .logo-dark { display: none !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box .logo-light { display: flex !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar #scrollbar { height: calc(100vh - var(--topbar-height) - 66px); overflow-y: auto; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .container-fluid { padding: 0 !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav { display: flex !important; flex-direction: column !important; padding: 0 8px 16px; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-title { display: block !important; margin: 16px 12px 6px; color: #6a8aaa; font-size: 11px; letter-spacing: 1px; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .nav-item { width: 100%; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link {
    margin: 0 !important; padding: 9px 12px !important; color: #b0c4d8 !important; font-size: 13.5px; white-space: normal;
}
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link:hover,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link.active,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link[aria-expanded="true"] { background: #2d4270 !important; color: #fff !important; border-radius: 4px; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-dropdown { position: static !important; min-width: 0 !important; margin: 0 !important; padding: 2px 0 4px 20px !important; box-shadow: none !important; background: transparent !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-dropdown .nav-link { padding: 7px 12px !important; font-size: 13px; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .main-content { margin-left: var(--sidebar-width) !important; padding-top: var(--topbar-height) !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #page-topbar { left: var(--sidebar-width) !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .layout-width { width: 100% !important; max-width: none !important; }

/* DPCS 專案色：白底、深藍文字與淡藍選取狀態。 */
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar.app-menu { background: #f8fafc !important; border-right: 1px solid #dbe3ef !important; color: #52657f; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box { background: #fff; border-bottom-color: #dbe3ef; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box .logo-dark { display: flex !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box .logo-light { display: none !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box .dpcs-sidebar-brand { display: flex !important; align-items: center; justify-content: flex-start !important; gap: 8px; padding-left: 20px !important; text-align: left !important; color: #24579d; font-size: 15px; font-weight: 700; letter-spacing: .04em; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-brand-box .dpcs-sidebar-brand i { color: #3b82c4; font-size: 20px; font-weight: 400; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-title { color: #8a9aae; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link { color: #5e7089 !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link i { color: #72849c; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link:hover,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link.active,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link[aria-expanded="true"] { background: #e8f0fc !important; color: #24579d !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link:hover i,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link.active i,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .navbar-nav .nav-link[aria-expanded="true"] i { color: #24579d; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-dropdown { background: transparent !important; }

/* 左側選單固定展開，不提供收折操作。 */
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .nav-link[data-bs-toggle="collapse"] { pointer-events: none; cursor: default; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .nav-link[data-bs-toggle="collapse"]::after { display: none !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-dropdown.collapse { display: block !important; height: auto !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .nav-link[data-bs-toggle="collapse"] { margin-top: 8px !important; margin-left: -8px !important; padding-left: 12px !important; color: #24579d !important; font-weight: 600; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-dropdown .nav-link { color: #5e7089 !important; font-weight: 400; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .dpcs-sidebar-section { margin: 16px 4px 5px; padding: 0; color: #8a9aae; font-size: 11px; font-weight: 600; letter-spacing: 1px; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-dropdown .nav-link { display: flex; align-items: center; gap: 9px; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) #sidebar .menu-dropdown .nav-link i { width: 17px; color: #72849c; font-size: 16px; text-align: center; }

/* 左側導覽模式不使用上方 Logo／使用者列。 */
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .main-content { padding-top: 0 !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .page-content { min-height: 100vh; margin-top: 0 !important; padding: 25px !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .container-fluid { max-width: none !important; margin: 0 !important; padding: 0 !important; }
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .dpcs-table-page,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .employee-index,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .dept-index,
html[data-layout="horizontal"] body.dpcs-app:not(.popup-window) .authority-group-index { margin-top: 0 !important; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
#page-topbar { position: fixed; inset: 0 0 auto var(--sidebar-width); z-index: 100; height: var(--topbar-height); background: #fff; box-shadow: 0 1px 2px rgba(56, 65, 74, .08); transition: left .2s ease; }
.navbar-header { height: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 25px; }
.topbar-start, .topbar-end, .user-menu { display: flex; align-items: center; }
.brand { display: none; align-items: center; gap: 8px; font-weight: 700; color: #fff; }
.brand-mark { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 7px; background: #fff; color: var(--navy); font-size: 16px; }
.brand-name { letter-spacing: .08em; }.brand-subtitle { font-size: 11px; opacity: .75; }.brand-divider { width: 1px; height: 18px; background: rgba(255,255,255,.35); }
.header-icon-button { position: relative; border: 0; width: 42px; height: 42px; border-radius: 4px; background: transparent; color: #5b6172; cursor: pointer; display: grid; place-items: center; }.header-icon-button:hover { background: #f3f6fa; }
.hamburger { display: grid; gap: 4px; width: 20px; }.hamburger i { height: 2px; background: #6c757d; border-radius: 2px; display: block; }.bell-icon { font-size: 25px; transform: rotate(45deg); }.notification-dot { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #f06548; top: 10px; right: 11px; }
.user-menu { gap: 10px; margin-left: 16px; padding-left: 16px; min-height: 42px; border-left: 1px solid #eff0f2; }.user-avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #e9effe; color: #3577f1; font-size: 11px; font-weight: 700; }.user-details { display: grid; gap: 2px; }.user-details strong { font-size: 13px; color: #495057; }.user-details small { font-size: 11px; color: #878a99; }.chevron { color: #878a99; }
.app-menu { position: fixed; inset: 0 auto 0 0; z-index: 101; width: var(--sidebar-width); background: var(--navy); color: #abb9e8; transition: width .2s ease, transform .2s ease; }.sidebar-scroll { height: 100%; overflow-y: auto; padding: 20px 0 30px; }.sidebar-scroll::-webkit-scrollbar { width: 4px; }.sidebar-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); }
.app-menu::before { content: "DPCS  |  FV85770E"; display: block; height: var(--topbar-height); padding: 25px 24px; font-size: 16px; font-weight: 700; letter-spacing: .06em; color: #fff; background: var(--navy-deep); }.menu-title { margin: 22px 20px 8px; font-size: 11px; font-weight: 600; color: #7989bd; text-transform: uppercase; letter-spacing: .08em; }.secondary-title { margin-top: 26px; }.menu-nav { display: grid; gap: 2px; }.menu-link { position: relative; width: 100%; border: 0; padding: 10px 20px; background: transparent; color: #abb9e8; display: flex; align-items: center; gap: 12px; font-size: 14px; text-align: left; cursor: pointer; }.menu-link:hover, .menu-link.active { color: #fff; background: rgba(255,255,255,.06); }.menu-link.active::before { content: ""; position: absolute; left: 0; height: 27px; width: 3px; border-radius: 0 3px 3px 0; background: #fff; }.menu-icon { width: 18px; text-align: center; font-size: 18px; line-height: 1; color: #9aabd8; }.menu-link.active .menu-icon, .menu-link:hover .menu-icon { color: #fff; }.menu-arrow { margin-left: auto; transition: transform .2s; }.menu-toggle[aria-expanded="true"] .menu-arrow { transform: rotate(180deg); }.menu-dropdown { display: none; padding: 2px 0 5px 50px; }.menu-dropdown.show { display: grid; }.submenu-link { padding: 7px 12px; color: #abb9e8; font-size: 13px; }.submenu-link:hover { color: #fff; }
.main-content { min-height: 100vh; margin-left: var(--sidebar-width); padding-top: var(--topbar-height); transition: margin-left .2s ease; }.page-content { min-height: calc(100vh - var(--topbar-height) - 58px); padding: 25px; }.container-fluid { max-width: 1480px; margin: 0 auto; }.footer { min-height: 58px; padding: 19px 25px; display: flex; justify-content: space-between; border-top: 1px solid var(--border); color: #98a1ab; font-size: 12px; background: #fff; }
.page-title-box { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }.page-title { margin: 0 0 5px; font-size: 17px; color: #495057; }.breadcrumb { margin: 0; padding: 0; display: flex; gap: 8px; list-style: none; color: #878a99; font-size: 12px; }.breadcrumb .current { color: #3577f1; }.breadcrumb-separator { color: #b8bdc5; }.today-label { color: #878a99; font-size: 12px; }
.welcome-card { position: relative; overflow: hidden; min-height: 198px; padding: 32px 38px; display: flex; justify-content: space-between; align-items: center; border-radius: 5px; background: linear-gradient(107deg, #405189 0%, #5266a4 100%); color: #fff; box-shadow: 0 2px 5px rgba(64,81,137,.15); }.welcome-card h1 { margin: 5px 0 9px; font-size: 25px; letter-spacing: .02em; }.welcome-card p:not(.eyebrow) { max-width: 620px; margin: 0; line-height: 1.75; color: #d8e1ff; font-size: 14px; }.eyebrow { margin: 0; color: #bdccff; font-size: 10px; font-weight: 700; letter-spacing: .12em; }.primary-button { display: inline-flex; gap: 14px; align-items: center; margin-top: 18px; padding: 9px 15px; border-radius: 4px; background: #fff; color: #405189; font-size: 13px; font-weight: 600; }.primary-button span { font-size: 17px; }.welcome-graphic { position: relative; width: 185px; height: 155px; margin-right: 35px; }.document-icon { position: absolute; inset: 38px 40px; z-index: 2; display: grid; place-items: center; width: 88px; height: 88px; border-radius: 20px; color: #405189; background: #fff; font-size: 49px; box-shadow: 0 15px 25px rgba(25,35,77,.25); }.graphic-circle { position: absolute; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }.circle-one { width: 158px; height: 158px; top: 0; left: 0; }.circle-two { width: 112px; height: 112px; top: 23px; left: 23px; }.graphic-dot { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #a9beff; }.dot-one { top: 7px; right: 12px; }.dot-two { bottom: 9px; left: 12px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 24px 0; }.stat-card, .dashboard-card { background: var(--card); border: 1px solid var(--border); border-radius: 5px; box-shadow: 0 1px 2px rgba(56,65,74,.04); }.stat-card { display: flex; align-items: center; gap: 16px; padding: 20px; }.stat-icon { display: grid; place-items: center; width: 47px; height: 47px; border-radius: 5px; font-size: 23px; font-weight: 600; }.stat-icon.blue, .icon-blue { color: #3577f1; background: #e9f1ff; }.stat-icon.green, .icon-green { color: #0ab39c; background: #dff7f2; }.stat-icon.orange, .icon-orange { color: #f7b84b; background: #fff3d9; }.stat-icon.purple { color: #6559cc; background: #eeecff; }.stat-card p { margin: 0 0 4px; color: #878a99; font-size: 12px; }.stat-card strong { display: block; color: #495057; font-size: 22px; line-height: 1; }.stat-card span { color: #a4acb5; font-size: 11px; }
.dashboard-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; }.dashboard-card { min-height: 290px; }.card-heading { display: flex; justify-content: space-between; align-items: flex-start; padding: 20px 22px 15px; border-bottom: 1px solid #f0f1f3; }.card-heading h2 { margin: 0 0 3px; color: #495057; font-size: 15px; }.card-heading p { margin: 0; color: #878a99; font-size: 12px; }.card-more { color: #878a99; font-size: 21px; line-height: .7; }.action-list { padding: 4px 22px; }.action-list a { display: flex; align-items: center; gap: 13px; padding: 15px 0; border-bottom: 1px dashed #e9ebec; }.action-list a:last-child { border-bottom: 0; }.action-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 5px; font-size: 17px; }.action-list strong, .action-list small, .status-items strong, .status-items small { display: block; }.action-list strong { color: #495057; font-size: 13px; }.action-list small { margin-top: 3px; color: #98a1ab; font-size: 11px; }.action-list b { margin-left: auto; color: #afb5bd; font-size: 20px; font-weight: 400; }.status-live { padding: 4px 8px; border-radius: 4px; color: #0ab39c; background: #e9f9f5; font-size: 11px; }.status-live i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #0ab39c; }.status-items { padding: 4px 22px; }.status-items > div { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px dashed #e9ebec; }.status-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font-size: 13px; }.status-mark.success { color: #0ab39c; background: #dff7f2; }.status-mark.info { color: #3577f1; background: #e9f1ff; }.status-mark.neutral { color: #878a99; background: #f1f3f5; }.status-items strong { color: #495057; font-size: 12px; }.status-items small { margin-top: 2px; color: #98a1ab; font-size: 11px; }.status-items b { margin-left: auto; color: #0ab39c; font-size: 11px; font-weight: 500; }.status-items > div:nth-child(2) b { color: #f7b84b; }.text-danger { color: #b91c1c; }
body.sidebar-collapsed { --sidebar-width: 70px; } body.sidebar-collapsed .app-menu::before { font-size: 0; padding: 20px; } body.sidebar-collapsed .app-menu::before::after { content: "D"; font-size: 18px; color: #fff; } body.sidebar-collapsed .menu-title, body.sidebar-collapsed .menu-text, body.sidebar-collapsed .menu-arrow, body.sidebar-collapsed .menu-dropdown { display: none; } body.sidebar-collapsed .menu-link { justify-content: center; padding: 14px; } body.sidebar-collapsed .menu-link.active::before { height: 30px; }
@media (max-width: 1024px) { .stats-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid { grid-template-columns: 1fr; }.welcome-graphic { margin-right: 0; } }
@media (max-width: 767px) { #page-topbar { left: 0; }.app-menu { transform: translateX(-100%); width: 250px; }.main-content { margin-left: 0; }.page-content { padding: 18px 14px; }.navbar-header { padding: 0 14px; }.brand { display: flex; }.topbar-start .header-icon-button { margin-left: 11px; }.user-details, .chevron { display: none; }.user-menu { margin-left: 7px; padding-left: 8px; }.welcome-card { padding: 27px 23px; min-height: 210px; }.welcome-card h1 { font-size: 22px; }.welcome-graphic { display: none; }.stats-grid { grid-template-columns: 1fr; gap: 10px; margin: 16px 0; }.page-title-box { margin-bottom: 17px; }.today-label { display: none; }.footer { padding: 17px 14px; display: grid; gap: 4px; }.vertical-overlay { position: fixed; inset: 0; z-index: 100; display: none; background: rgba(0,0,0,.45); } body.sidebar-mobile-open .app-menu { transform: translateX(0); } body.sidebar-mobile-open .vertical-overlay { display: block; } }

/* Login */
.login-page { min-height: 100vh; background: #f3f3f9; }.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, 43%) 1fr; }.login-brand-panel { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 42px 11%; background: linear-gradient(142deg, #364574 0%, #405189 49%, #6277b6 100%); color: #fff; }.login-brand { display: flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 700; letter-spacing: .08em; }.login-brand-mark { display: inline-grid; place-items: center; width: 33px; height: 33px; border-radius: 8px; color: #405189; background: #fff; font-size: 18px; font-weight: 800; letter-spacing: 0; }.brand-copy { position: relative; z-index: 2; margin: auto 0 25px; }.brand-copy .eyebrow { color: #c2d1ff; }.brand-copy h1 { margin: 10px 0 13px; font-size: clamp(31px, 3vw, 45px); line-height: 1.25; letter-spacing: .04em; }.brand-copy p:not(.eyebrow) { color: #c6d1f1; font-size: 14px; letter-spacing: .06em; }.login-art { position: absolute; right: 10%; bottom: 12%; width: 230px; height: 230px; opacity: .94; }.art-document { position: absolute; z-index: 2; top: 44px; left: 55px; width: 116px; height: 145px; padding: 38px 23px; border-radius: 11px; background: #fff; box-shadow: 0 20px 40px rgba(25,35,77,.27); transform: rotate(-7deg); }.art-document::before { content: ""; position: absolute; top: 17px; left: 22px; width: 45px; height: 8px; border-radius: 8px; background: #8798cb; }.art-document span { display: block; width: 70px; height: 6px; margin: 9px 0; border-radius: 5px; background: #e0e7fa; }.art-document span:nth-child(3) { width: 47px; }.art-shield { position: absolute; z-index: 3; right: 16px; bottom: 28px; display: grid; place-items: center; width: 58px; height: 64px; border-radius: 19px 19px 26px 26px; background: #0ab39c; color: #fff; box-shadow: 0 10px 20px rgba(6,104,91,.28); font-size: 30px; font-weight: 700; }.art-orbit { position: absolute; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }.orbit-a { inset: 0; }.orbit-b { inset: 28px; }.brand-footer { position: relative; z-index: 2; margin: 0; color: #bdc9ee; font-size: 11px; }.login-form-panel { display: grid; place-items: center; padding: 40px 25px; background: #fff; }.login-card { width: min(100%, 410px); }.mobile-login-brand { display: none; }.login-card h2 { margin: 0 0 8px; color: #495057; font-size: 25px; }.login-subtitle { margin: 0 0 30px; color: #878a99; font-size: 13px; }.login-card label { display: block; margin: 0 0 8px; color: #495057; font-size: 13px; font-weight: 600; }.input-wrap { position: relative; display: flex; align-items: center; margin-bottom: 20px; }.input-wrap > span { position: absolute; left: 14px; color: #8b98ae; font-size: 16px; }.input-wrap input { width: 100%; height: 45px; padding: 0 42px; border: 1px solid #e1e5eb; border-radius: 4px; outline: 0; color: #495057; font: inherit; font-size: 13px; transition: border-color .15s, box-shadow .15s; }.input-wrap input:focus { border-color: #86a7fa; box-shadow: 0 0 0 3px rgba(53,119,241,.12); }.password-toggle { position: absolute; right: 10px; border: 0; color: #8b98ae; background: transparent; cursor: pointer; font-size: 16px; }.login-options { display: flex; justify-content: space-between; align-items: center; margin: -2px 0 23px; }.login-options .remember { display: flex; align-items: center; gap: 6px; margin: 0; color: #6c757d; font-size: 12px; font-weight: 400; }.remember input { accent-color: #405189; }.login-options a { color: #3577f1; font-size: 12px; }.login-button { display: flex; align-items: center; justify-content: center; gap: 18px; width: 100%; height: 46px; border: 0; border-radius: 4px; background: #405189; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s, transform .15s; }.login-button:hover { background: #364574; transform: translateY(-1px); }.login-button span { font-size: 19px; }.login-notice { display: flex; gap: 10px; margin-top: 27px; padding: 12px 14px; border-radius: 4px; color: #697489; background: #f3f6fa; }.login-notice span { display: grid; flex: 0 0 auto; place-items: center; width: 16px; height: 16px; border: 1px solid #8996ad; border-radius: 50%; font-size: 11px; font-weight: 700; }.login-notice p { margin: 0; line-height: 1.5; font-size: 11px; }
@media (max-width: 800px) { .login-shell { grid-template-columns: 1fr; }.login-brand-panel { display: none; }.login-form-panel { min-height: 100vh; }.mobile-login-brand { display: flex; align-items: center; gap: 9px; margin-bottom: 34px; color: #405189; font-size: 18px; letter-spacing: .07em; }.mobile-login-brand .login-brand-mark { color: #fff; background: #405189; } }

/* EBI-compatible login composition */
.ebi-login-page { min-height: 100vh; background: #405189; }.ebi-auth-page-wrapper { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 100vh; overflow: hidden; padding: 48px 20px 70px; background: linear-gradient(-45deg, #405189 50%, #0ab39c); }.ebi-bg-overlay { position: absolute; inset: 0; opacity: 1; background: url("/assets/images/cover-pattern.png") center / cover; }.ebi-auth-page-content { position: relative; z-index: 1; width: 100%; }.ebi-login-container { width: min(100%, 960px); margin: 0 auto; }.ebi-login-card { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; min-height: 510px; border-radius: 5px; background: #fff; box-shadow: 0 5px 18px rgba(23, 30, 62, .18); }.ebi-login-image { position: relative; min-height: 100%; background: url("/assets/images/auth-one-bg.jpg") center / cover; }.ebi-image-overlay { position: absolute; inset: 0; background: linear-gradient(to right, #364574, #405189); opacity: .9; }.ebi-login-form-panel { display: grid; align-items: center; padding: 48px; }.ebi-login-form { width: min(100%, 350px); margin: 0 auto; }.ebi-login-form h1 { margin: 0 0 8px; color: #405189; font-size: 20px; font-weight: 600; }.ebi-login-form > p { margin: 0 0 25px; color: #878a99; font-size: 13px; }.ebi-login-form label:not(.ebi-remember) { display: block; margin: 0 0 8px; color: #495057; font-size: 13px; font-weight: 500; }.ebi-login-form input[type="text"], .ebi-login-form input[type="password"] { width: 100%; height: 38px; margin: 0 0 18px; padding: 8px 12px; border: 1px solid #ced4da; border-radius: 4px; outline: none; color: #495057; font: inherit; font-size: 13px; }.ebi-login-form input:focus { border-color: #86a7fa; box-shadow: 0 0 0 3px rgba(53, 119, 241, .12); }.ebi-password-input { position: relative; }.ebi-password-input input { padding-right: 42px !important; }.ebi-password-toggle { position: absolute; top: 0; right: 0; width: 38px; height: 38px; border: 0; background: transparent; color: #878a99; cursor: pointer; }.ebi-captcha-row { display: flex; align-items: center; min-height: 42px; margin: -8px 0 16px; }.ebi-captcha-code { display: inline-grid; place-items: center; width: 118px; height: 34px; border: 1px solid #ced4da; border-radius: 3px; background: repeating-linear-gradient(135deg, #f4f6fb, #f4f6fb 6px, #ebeff8 6px, #ebeff8 12px); color: #364574; font-family: Georgia, serif; font-size: 22px; font-weight: 700; letter-spacing: 7px; text-indent: 7px; transform: skew(-3deg); }.ebi-refresh-button { width: 45px; height: 40px; margin-left: 8px; border: 0; background: transparent; cursor: pointer; }.ebi-refresh-button img { width: 34px; height: 34px; object-fit: contain; }.ebi-remember { display: flex; align-items: center; gap: 7px; margin: 0 0 21px; color: #495057; font-size: 13px; }.ebi-remember input { width: 14px; height: 14px; margin: 0; accent-color: #405189; }.ebi-login-button { width: 100%; height: 38px; border: 1px solid #0ab39c; border-radius: 4px; background: #0ab39c; color: #fff; font-size: 13px; font-weight: 500; cursor: pointer; }.ebi-login-button:hover { border-color: #099885; background: #099885; }.ebi-login-footer { position: absolute; z-index: 1; right: 20px; bottom: 24px; left: 20px; color: rgba(255,255,255,.65); text-align: center; font-size: 12px; }
@media (max-width: 700px) { .ebi-auth-page-wrapper { padding: 20px 15px 60px; }.ebi-login-card { grid-template-columns: 1fr; min-height: 0; }.ebi-login-image { min-height: 165px; }.ebi-login-form-panel { padding: 35px 25px; }.ebi-login-footer { bottom: 18px; font-size: 10px; } }
.ebi-validation { display: block; margin: -10px 0 12px; color: #dc3545; font-size: 12px; }

/* EBI post-login shell without the menu area */
.post-login .app-menu::before { content: none; }.post-login .topbar-user .dropdown-item { width: 100%; border: 0; background: transparent; text-align: left; cursor: pointer; }.post-login .header-profile-user { object-fit: contain; background: #f3f6fa; }
.popup-window .page-content { margin-top: 0 !important; padding-top: 1.5rem !important; }
.popup-window, .popup-window #layout-wrapper, .popup-window .main-content, .popup-window .page-content { background: #fff; }
.popup-window .card { border: 0; box-shadow: none; }
.popup-window .card-footer { border-top: 0; background: #fff; }

.dpcs-module-page .dpcs-page-title { color: #405a9b; font-weight: 600; }
.dpcs-module-table thead th { background: #696bb7; color: #fff; font-weight: 600; }
.dpcs-module-table tbody tr:nth-child(odd) { background: #f5f9ff; }
.dpcs-empty-module { border: 1px solid #e9edf5; }
.dpcs-table-actions a { color: #405a9b; font-size: 1rem; }

/* DPCP list pages follow the EBI employee-maintenance table treatment. */
.dpcs-table-page { margin-top: -48px; color: #0d1f42; font-size: 14px; }
.dpcs-table-heading, .dpcs-table-toolbar { display: flex; align-items: center; justify-content: space-between; }
.dpcs-table-heading { margin: 0 0 25px; }.dpcs-table-heading h2 { margin: 0; color: #365992; font-size: 28px; font-weight: 700; }.dpcs-table-heading p { margin: 5px 0 0; color: #878a99; }
/* 清單頁僅保留頁面標題；頁面摘要不顯示，頁內的操作與說明文字維持原狀。 */
.dpcs-table-page > .dpcs-table-heading p { display: none; }
.dpcs-table-heading h3 { margin: 0; color: #365992; font-size: 20px; font-weight: 700; }.dpcs-subheading { margin-top: 28px; margin-bottom: 10px; }
.dpcs-table-actions-top, .dpcs-display-actions { display: flex; gap: 4px; }.dpcs-action-button { border: 0; border-radius: 4px; background: #3ec4d8; color: #fff; font-size: 13px; padding: 10px 13px; }.dpcs-action-button:hover { background: #28b4cb; color: #fff; }
.dpcs-table-toolbar { margin: 0 0 8px; }.dpcs-table-search { display: flex; align-items: center; gap: 4px; color: #000; font-size: 13px; }.dpcs-table-search input { width: 172px; height: 32px; border: 1px solid #aeb3bd; border-radius: 2px; padding: 4px 7px; background: #fff; }
.dpcs-table-responsive { overflow: visible; }.dpcs-list-table { width: 100%; border-collapse: collapse; background: #fff; }.dpcs-list-table th { position: relative; padding: 12px 13px; border: 1px solid #d6d6dc; background: #6b70bb; color: #fff; font-weight: 700; text-align: center; white-space: nowrap; }.dpcs-list-table td { padding: 11px 13px; border: 1px solid #d7d7dc; text-align: center; color: #061a3e; }.dpcs-list-table tbody tr:nth-child(odd) { background: #eaf6ff; }.dpcs-list-table tbody tr:nth-child(even) { background: #fff; }.dpcs-list-table tbody tr:hover { background: #dcefff; }
.dpcs-pagination-hidden { display:none !important; }.dpcs-list-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:7px; color:#102a5b; font-size:13px; }.dpcs-list-pagination-buttons { display:flex; align-items:center; gap:4px; }.dpcs-list-pagination-buttons button { min-width:32px; border:0; background:transparent; color:#0c2b61; padding:5px 8px; }.dpcs-list-pagination-buttons button.active { border:1px solid #aaa; background:linear-gradient(#fff,#e3e3e3); border-radius:2px; }.dpcs-list-pagination-buttons button:disabled { color:#999; }
.dpcs-orders-table :is(th, td):nth-child(6), .dpcs-orders-table :is(th, td):nth-child(7), .dpcs-orders-table :is(th, td):nth-child(8), .dpcs-orders-table :is(th, td):nth-child(10), .dpcs-orders-table :is(th, td):nth-child(11) { text-align: center !important; }
.dpcs-selection-column { width: 60px; }.dpcs-action-column { width: 92px; }.dpcs-sort-mark { position: absolute; right: 10px; color: #8990ca; font-size: 12px; }.dpcs-no-data, .dpcs-table-empty { padding: 28px; color: #878a99; text-align: center; background: #fff; border: 1px solid #d7d7dc; }.dpcs-table-empty { border-radius: 4px; }
.dpcs-more { display: inline-grid; place-items: center; width: 34px; height: 32px; padding: 0; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #667085; font-size: 12px; font-weight: 700; letter-spacing: 1px; line-height: 1; transition: all .15s ease; }.dpcs-more:hover { border-color: #d9e2f1; background: #f4f7fc; color: #405189; }.dpcs-more.show, .dpcs-more:focus-visible { border-color: #2589ff; background: #fff; color: #2589ff; box-shadow: 0 0 0 2px rgba(37,137,255,.14); outline: 0; }
.dpcs-action-menu { z-index: 1060; min-width: 162px; padding: 7px 0; border: 0; border-radius: 4px; box-shadow: 0 4px 15px rgba(15,23,42,.18); }.dpcs-action-menu .dropdown-item { padding: 9px 18px; color: #1f2f52; font-size: 14px; }.dpcs-action-menu .dropdown-item:hover { background: #f4f7fc; }.dpcs-action-menu i { width: 20px; color: #98a6bb; }
.dpcs-action-menu form.dpcs-delete-form .dropdown-item, .dpcs-action-menu form.dpcs-delete-order-form .dropdown-item, .employee-action-menu form.employee-delete-form .dropdown-item, .dept-action-menu form.dept-delete-form .dropdown-item, .authority-group-action-menu form.authority-group-delete-form .dropdown-item { color: #dc3545 !important; }.dpcs-action-menu form.dpcs-delete-form .dropdown-item i, .dpcs-action-menu form.dpcs-delete-order-form .dropdown-item i, .employee-action-menu form.employee-delete-form .dropdown-item i, .dept-action-menu form.dept-delete-form .dropdown-item i, .authority-group-action-menu form.authority-group-delete-form .dropdown-item i { color: currentColor; }
.dpcs-table-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; color: #102a5b; font-size: 13px; }.dpcs-pagination { display: flex; gap: 4px; }.dpcs-pagination button { min-width: 32px; border: 0; background: transparent; color: #0c2b61; padding: 5px 8px; }.dpcs-pagination button.active { border: 1px solid #aaa; background: linear-gradient(#fff, #e3e3e3); border-radius: 2px; }.dpcs-pagination button:disabled { color: #999; }.dpcs-summary-table { max-width: 650px; }
.dpcs-date-filter { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; }.dpcs-date-filter label { display: grid; gap: 3px; color: #273b66; font-size: 13px; }.dpcs-date-filter input { width: 145px; height: 32px; padding: 4px 7px; border: 1px solid #aeb3bd; border-radius: 2px; background: #fff; }.dpcs-date-filter .dpcs-action-button { display: inline-flex; align-items: center; align-self: flex-end; height: 32px; margin-bottom: 7px; padding: 0 10px; }.dpcs-currency-badge { display: inline-block; min-width: 58px; padding: 4px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }.dpcs-currency-badge.usdt { color: #fff; background: #405a9b; }.dpcs-currency-badge.rmb { color: #584600; background: #ffe49a; }
.dpcs-exchange-search-bar { margin: 0 0 16px; padding: 12px 14px; border-radius: 8px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.dpcs-exchange-search-bar .dpcs-date-filter { align-items: flex-end; }
.dpcs-exchange-filter-actions { display: flex; align-items: flex-end; align-self: flex-end; gap: 5px; padding-bottom: 8px; }
.dpcs-exchange-filter-actions .btn { display: inline-flex; align-items: center; justify-content: center; align-self: flex-end; height: 32px; margin: 0; padding: 0 10px; color: #fff; border: 1px solid #3bc1d2; background: #3bc1d2; font-size: 13px; white-space: nowrap; }
.dpcs-exchange-filter-actions .btn:hover, .dpcs-exchange-filter-actions .btn:focus { color: #fff; border-color: #24aebf; background: #24aebf; }
.dpcs-exchange-stat { min-height: 108px; padding: 16px; border-radius: 8px; color: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.08); }
.dpcs-exchange-stat > div { font-size: 13px; opacity: .8; }
.dpcs-exchange-stat strong { display: block; margin: 4px 0; font-size: 22px; line-height: 1.2; }
.dpcs-exchange-stat small { font-size: 12px; opacity: .65; }
.dpcs-exchange-stat-usdt { background: #405a9b; }
.dpcs-exchange-stat-rmb { background: #347e70; }
/* DPCP 共用操作規格：不影響員工與權限管理。 */
.dpcs-dpcp-area .btn { min-height: 32px; border-radius: 4px; font-size: 13px; line-height: 1.2; }
.dpcs-dpcp-area .dpcs-action-button,
.dpcs-dpcp-area .btn-primary,
.dpcs-dpcp-area .btn-info { color: #fff; border-color: #3bc1d2; background: #3bc1d2; }
.dpcs-dpcp-area .dpcs-action-button:hover,
.dpcs-dpcp-area .btn-primary:hover,
.dpcs-dpcp-area .btn-info:hover,
.dpcs-dpcp-area .dpcs-action-button:focus,
.dpcs-dpcp-area .btn-primary:focus,
.dpcs-dpcp-area .btn-info:focus { color: #fff; border-color: #24aebf; background: #24aebf; box-shadow: 0 0 0 .2rem rgba(59,193,210,.2); }
.dpcs-dpcp-area .btn-secondary,
.dpcs-dpcp-area .btn-light { color: #495057; border-color: #d9dee7; background: #f4f6f8; }
.dpcs-dpcp-area .btn-secondary:hover,
.dpcs-dpcp-area .btn-light:hover { color: #343a40; border-color: #cbd2dc; background: #e8edf2; }
.dpcs-dpcp-area .btn-outline-primary { color: #3a9cab; border-color: #3a9cab; background: #fff; }
.dpcs-dpcp-area .btn-outline-primary:hover { color: #fff; border-color: #3bc1d2; background: #3bc1d2; }
.dpcs-dpcp-area .dpcs-table-heading > .btn,
.dpcs-dpcp-area .dpcs-table-heading > a.btn,
.dpcs-dpcp-area .dpcs-table-heading .btn { min-height: 36px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; }
.dpcs-dpcp-area .dpcs-wallet-filter,
.dpcs-dpcp-area .dpcs-accounting-filters,
.dpcs-dpcp-area .dpcs-card-filter,
.dpcs-dpcp-area .dpcs-u-filter,
.dpcs-dpcp-area .dpcs-dashboard-filter,
.dpcs-dpcp-area .dpcs-order-filter,
.dpcs-dpcp-area .dpcs-agent-ledger-filter,
.dpcs-dpcp-area .dpcs-vendor-recon-filter { margin-bottom: 16px; padding: 12px 14px; border-radius: 8px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.dpcs-dpcp-area .dpcs-wallet-filter > .btn,
.dpcs-dpcp-area .dpcs-accounting-filters > .btn,
.dpcs-dpcp-area .dpcs-card-filter > .btn,
.dpcs-dpcp-area .dpcs-u-filter > .btn,
.dpcs-dpcp-area .dpcs-dashboard-filter > .btn,
.dpcs-dpcp-area .dpcs-order-filter > .btn,
.dpcs-dpcp-area .dpcs-agent-ledger-filter > .btn,
.dpcs-dpcp-area .dpcs-vendor-recon-filter > .btn { align-self: flex-end; margin-bottom: 0; }
.dpcs-customer-toolbar { justify-content: flex-start; align-items: flex-end; }.dpcs-customer-search { display: grid; gap: 4px; color: #273b66; font-size: 13px; }.dpcs-customer-search-controls { display: flex; align-items: center; gap: 8px; }.dpcs-customer-search input { width: 260px; height: 32px; padding: 4px 7px; border: 1px solid #aeb3bd; border-radius: 2px; background: #fff; }.dpcs-customer-search-controls .dpcs-action-button { display: inline-flex; align-items: center; height: 32px; margin: 0; padding: 0 12px; }.dpcs-status { display: inline-block; min-width: 54px; padding: 4px 9px; border-radius: 4px; font-size: 12px; font-weight: 600; }.dpcs-status.active { color: #087e6b; background: #dff7f2; }.dpcs-status.inactive { color: #a2374d; background: #fde7e7; }.dpcs-status-toggle { border:0; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease; }.dpcs-status-toggle:hover { transform:translateY(-1px); box-shadow:0 2px 6px rgba(15,23,42,.14); }.dpcs-status-toggle:focus-visible { outline:2px solid #2589ff; outline-offset:2px; }.dpcs-status-toggle:disabled { opacity:.55; cursor:wait; }
.dpcs-audit-time { display:block; margin-top:2px; color:#7a8496; font-size:11px; white-space:nowrap; }
.dpcs-audit-history{display:inline-block;margin-top:3px;position:relative}.dpcs-audit-history-toggle{border:0;padding:0;background:transparent;color:#4d6fb3;font-size:11px;line-height:1.3;cursor:pointer}.dpcs-audit-history-toggle:hover{text-decoration:underline}.dpcs-audit-history-toggle:disabled{opacity:.65;cursor:wait}.dpcs-audit-history-panel{position:absolute;z-index:20;left:50%;top:100%;min-width:230px;max-width:320px;margin-top:3px;padding:6px 8px;border:1px solid #ccd6e7;border-radius:4px;background:#fff;box-shadow:0 5px 14px rgba(29,48,83,.18);color:#45536d;font-size:11px;line-height:1.45;transform:translateX(-50%)}.dpcs-audit-history-row{display:grid;grid-template-columns:112px 1fr auto;gap:6px;padding:3px 0;border-bottom:1px solid #edf1f6}.dpcs-audit-history-row:last-child{border-bottom:0}.dpcs-audit-history-row time{color:#75819a;white-space:nowrap}.dpcs-audit-history-row b{color:#2d5da8;font-weight:600}
.dpcs-agent-toolbar { justify-content: flex-start; align-items: flex-end; }.dpcs-agent-search { display: grid; gap: 4px; color: #273b66; font-size: 13px; }.dpcs-agent-search-controls { display: flex; align-items: center; gap: 8px; }.dpcs-agent-search input { width: 260px; height: 32px; padding: 4px 7px; border: 1px solid #aeb3bd; border-radius: 2px; background: #fff; }.dpcs-agent-search-controls .dpcs-action-button { display: inline-flex; align-items: center; height: 32px; margin: 0; padding: 0 12px; }
.dpcs-vendor-toolbar { justify-content: flex-start; align-items: flex-end; }.dpcs-vendor-search { display: grid; gap: 4px; color: #273b66; font-size: 13px; }.dpcs-vendor-search-controls { display: flex; align-items: center; gap: 8px; }.dpcs-vendor-search input { width: 260px; height: 32px; padding: 4px 7px; border: 1px solid #aeb3bd; border-radius: 2px; background: #fff; }.dpcs-vendor-search-controls .dpcs-action-button { display: inline-flex; align-items: center; height: 32px; margin: 0; padding: 0 12px; }
.dpcs-wallet-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.dpcs-wallet-filter label { display:grid; gap:3px; color:#273b66; font-size:13px; }.dpcs-wallet-filter input { width:155px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-wallet-filter label:first-child input { width:220px; }.dpcs-wallet-filter .dpcs-action-button { display:inline-flex; align-items:center; height:32px; margin-bottom:0; padding:0 10px; }
.dpcs-accounting-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.dpcs-accounting-filters label { display:grid; gap:3px; color:#273b66; font-size:13px; }.dpcs-accounting-filters input, .dpcs-accounting-filters select { width:135px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-accounting-filters .dpcs-action-button { display:inline-flex; align-items:center; height:32px; padding:0 10px; }.dpcs-accounting-scenarios { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:10px 0; color:#273b66; font-size:13px; }.dpcs-accounting-scenarios label { display:flex; align-items:center; gap:4px; }.dpcs-batch-bar { display:flex; align-items:center; gap:9px; margin:10px 0; padding:8px 12px; border:1px solid #d7dce6; border-radius:4px; background:#f7f9fc; color:#64748b; font-size:13px; }.dpcs-batch-bar .dpcs-action-button { padding:5px 10px; }.dpcs-accounting-table { min-width:1900px; }.dpcs-accounting-table th, .dpcs-accounting-table td { padding:9px 10px; font-size:13px; }.dpcs-accounting-table tfoot td { background:#eef0f4; text-align:center; font-weight:700; }.dpcs-accounting-copy { color:#6c757d; font-size:11px; line-height:1; vertical-align:middle; }
.dpcs-card-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.dpcs-card-filter label { display:grid; gap:3px; color:#273b66; font-size:13px; }.dpcs-card-filter input { width:155px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-card-filter .dpcs-action-button { display:inline-flex; align-items:center; height:32px; padding:0 10px; }.dpcs-card-table { min-width:1100px; }.dpcs-card-table tfoot td { background:#ececf1; font-weight:700; }
.dpcs-margin-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:18px; }.dpcs-margin-section, .dpcs-margin-help { padding:18px; border:1px solid #dfe4ee; border-radius:5px; background:#fff; }.dpcs-margin-section + .dpcs-margin-section { margin-top:16px; }.dpcs-margin-section h3, .dpcs-margin-help h3 { margin:0 0 6px; color:#405189; font-size:16px; font-weight:700; }.dpcs-margin-section p { margin:0 0 14px; color:#7a8496; font-size:13px; }.dpcs-margin-help { color:#667085; font-size:13px; }.dpcs-margin-help ul { margin:10px 0 0; padding-left:18px; }.dpcs-margin-help li + li { margin-top:8px; }.dpcs-margin-table th, .dpcs-margin-table td { padding:9px 10px; font-size:13px; }.dpcs-color-preview { display:inline-block; width:48px; height:28px; border:1px solid #d8dee9; border-radius:4px; vertical-align:middle; }@media (max-width:900px) { .dpcs-margin-layout { grid-template-columns:1fr; } }
.dpcs-margin-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(230px,1fr); gap:18px; }.dpcs-margin-card,.dpcs-margin-help{overflow:hidden;padding:0;border:1px solid #dfe4ee;border-radius:5px;background:#fff}.dpcs-margin-card h3,.dpcs-margin-help h3{margin:0;padding:12px 16px;border-bottom:1px solid #dfe4ee;color:#495057;font-size:15px;font-weight:600}.dpcs-margin-card h3 i{margin-right:7px;color:#0d6efd}.dpcs-margin-card-body,.dpcs-margin-help-body{padding:16px}.dpcs-margin-card-body>p{margin:0 0 14px;color:#6c757d;font-size:13px}.dpcs-margin-help h3{color:#6c757d;font-size:13px}.dpcs-margin-help-body{color:#6c757d;font-size:13px}.dpcs-margin-help-body ul{margin:0;padding-left:18px}.dpcs-margin-help-body li+li{margin-top:8px}.dpcs-margin-editor-table{margin-bottom:14px;border-color:#dee2e6}.dpcs-margin-editor-table th{background:#f8f9fa!important;color:#495057!important}.dpcs-margin-editor-table th,.dpcs-margin-editor-table td{padding:8px 10px;vertical-align:middle;border-color:#dee2e6;text-align:center}.dpcs-margin-badge{display:inline-block;border-radius:4px;background:#6c757d;color:#fff;padding:3px 8px;font-size:12px}.dpcs-margin-range,.dpcs-margin-color{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.dpcs-margin-editor-table .form-control:not(.form-control-color){text-align:center}.dpcs-margin-range .form-control{width:78px}.dpcs-margin-color .form-control-color{width:36px;min-width:36px;height:30px;padding:2px}.dpcs-margin-color .form-control:not(.form-control-color){width:96px}.dpcs-margin-description{color:#6c757d;font-size:13px}@media (max-width:900px){.dpcs-margin-grid{grid-template-columns:1fr}}
.dpcs-u-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.dpcs-u-filter label { display:grid; gap:3px; color:#273b66; font-size:13px; }.dpcs-u-filter input { width:155px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-u-filter .dpcs-action-button { display:inline-flex; align-items:center; height:32px; padding:0 10px; }
.dpcs-u-stats { grid-template-columns:repeat(5, minmax(0, 1fr)); }.dpcs-u-table tfoot td { background:#ececf1; font-weight:700; }.dpcs-u-table :is(th, td):nth-child(2), .dpcs-u-table :is(th, td):nth-child(3), .dpcs-u-table :is(th, td):nth-child(4), .dpcs-u-table :is(th, td):nth-child(5), .dpcs-u-table :is(th, td):nth-child(6) { font-variant-numeric:tabular-nums; }.dpcs-u-editor-card { max-width:560px; margin:0 auto; }.dpcs-u-editor-card [data-u-vendor-results] { max-height:140px; overflow-y:auto; top:100%; }.dpcs-u-editor-card .text-muted { font-size:11px; } @media(max-width:1100px){.dpcs-u-stats{grid-template-columns:repeat(3,minmax(0,1fr));}} @media(max-width:640px){.dpcs-u-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
.dpcs-wallet-filter .dpcs-wallet-new-master { display:flex; align-items:center; align-self:flex-end; gap:5px; height:32px; margin:0 0 0 2px; white-space:nowrap; }.dpcs-wallet-filter .dpcs-wallet-new-master input { width:auto; height:auto; margin:0; }.dpcs-wallet-edit-card { max-width:520px; margin:0 auto; }
.dpcs-wallet-filter .dpcs-wallet-rate-summary { flex:0 0 100%; color:#7a8496; font-size:12px; line-height:1.4; }
.dpcs-dashboard-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:16px; }.dpcs-dashboard-filter label { display:grid; gap:3px; margin-bottom:0; color:#273b66; font-size:13px; }.dpcs-dashboard-filter input { width:155px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-dashboard-filter .dpcs-action-button { display:inline-flex; align-items:center; height:32px; padding:0 10px; }.dpcs-dashboard-filter span { margin:0 0 8px 8px; color:#7a8496; font-size:12px; }.dpcs-dashboard-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }.dpcs-dashboard-stats > div { display:grid; gap:5px; padding:16px; border-radius:5px; background:#fff; border:1px solid #dfe4ee; }.dpcs-dashboard-stats strong { color:#405189; font-size:24px; }.dpcs-dashboard-stats span { color:#7a8496; font-size:13px; }.dpcs-dashboard-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:16px; }.dpcs-dashboard-side { display:grid; gap:16px; align-content:start; }.dpcs-dashboard-card { overflow:hidden; border:1px solid #dfe4ee; border-radius:5px; background:#fff; }.dpcs-dashboard-card h3 { margin:0; padding:12px 15px; border-bottom:1px solid #e6eaf1; color:#405189; font-size:15px; font-weight:700; }.dpcs-dashboard-card h4 { margin:0; padding:10px 15px; background:#f4f6fb; color:#405189; font-size:13px; }.dpcs-dashboard-card table { width:100%; border-collapse:collapse; }.dpcs-dashboard-card td { padding:9px 15px; border-bottom:1px solid #eef1f5; font-size:13px; }.dpcs-dashboard-card td:last-child { text-align:right; font-weight:600; }.dpcs-dashboard-card .emphasis { color:#b42318; font-weight:700; }@media(max-width:900px){.dpcs-dashboard-stats{grid-template-columns:repeat(2,1fr)}.dpcs-dashboard-grid{grid-template-columns:1fr}}@media(max-width:520px){.dpcs-dashboard-stats{grid-template-columns:1fr}}

/* Dashboard：依原系統的資訊層級呈現，並讓所有金額欄使用相同的數字對齊。 */
.dpcs-dpcp-area .dpcs-dashboard-filter-actions { display:flex; align-items:center; align-self:flex-end; min-height:32px; gap:8px; flex-wrap:wrap; }
.dpcs-dpcp-area .dpcs-dashboard-filter-actions span { margin:0 0 0 4px; }
.dpcs-dpcp-area .dpcs-dashboard-stat { min-height:90px; align-content:center; }
.dpcs-dpcp-area .dpcs-dashboard-stats > .dpcs-dashboard-stat strong { font-variant-numeric:tabular-nums; }
.dpcs-dpcp-area .dpcs-u-stats { grid-template-columns:repeat(5, minmax(0, 1fr)); }
.dpcs-dpcp-area .dpcs-u-filter-actions { display:flex; align-items:center; align-self:flex-end; gap:8px; min-height:32px; white-space:nowrap; transform:translateY(-8px); }
.dpcs-dpcp-area .dpcs-u-filter-actions .btn { height:32px; margin:0; }
.dpcs-dpcp-area .dpcs-wallet-filter-actions,
.dpcs-dpcp-area .dpcs-accounting-filter-actions,
.dpcs-dpcp-area .dpcs-card-filter-actions { display:flex; align-items:center; align-self:flex-end; gap:8px; min-height:32px; white-space:nowrap; transform:translateY(-8px); }
.dpcs-dpcp-area .dpcs-wallet-filter-actions .btn,
.dpcs-dpcp-area .dpcs-accounting-filter-actions .btn,
.dpcs-dpcp-area .dpcs-card-filter-actions .btn { height:32px; margin:0; }
.dpcs-accounting-page .dpcs-accounting-search-card { margin-bottom:12px; padding:12px 14px; border-radius:8px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.dpcs-dpcp-area .dpcs-accounting-page .dpcs-accounting-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin:0; padding:0; border-radius:0; background:transparent; box-shadow:none; }
.dpcs-accounting-page .dpcs-accounting-filters > label > :is(input, select) { width:135px; }
.dpcs-dpcp-area .dpcs-accounting-page .dpcs-accounting-filter-actions { align-self:flex-end; flex-wrap:nowrap; transform:translateY(-8px); white-space:nowrap; }
.dpcs-accounting-page .dpcs-accounting-scenarios { margin:10px 0 0; }
.dpcs-accounting-page .dpcs-table-responsive { overflow-x:auto; }
.dpcs-accounting-page .dpcs-accounting-table { min-width:1200px; table-layout:fixed; }
.dpcs-accounting-page .dpcs-accounting-table th,
.dpcs-accounting-page .dpcs-accounting-table td { white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.dpcs-dpcp-area .dpcs-dashboard-stats > .is-revenue { border-left:4px solid #3577f1; background:#f7faff; }
.dpcs-dpcp-area .dpcs-dashboard-stats > .is-profit { border-left:4px solid #0ab39c; background:#f5fcfa; }
.dpcs-dpcp-area .dpcs-dashboard-stats > .is-uncollected { border-left:4px solid #f06548; background:#fff8f7; }
.dpcs-dpcp-area .dpcs-dashboard-stats > .is-vendor-cost { border-left:4px solid #f7b84b; background:#fffcf6; }
.dpcs-dpcp-area .dpcs-dashboard-card td { font-variant-numeric:tabular-nums; }
.dpcs-dpcp-area .dpcs-dashboard-card td i { padding:0 3px; color:#8b95a7; font-style:normal; font-weight:400; }
.dpcs-dpcp-area .dpcs-dashboard-card small { color:#7a8496; font-size:11px; font-weight:400; }
.dpcs-dpcp-area .dpcs-dashboard-card .subtle { color:#6c788c; font-size:12px; }
.dpcs-dpcp-area .dpcs-dashboard-card .indent-1 { padding-left:30px; }
.dpcs-dpcp-area .dpcs-dashboard-card .indent-2 { padding-left:42px; }
.dpcs-dpcp-area .dpcs-dashboard-card .amount-primary { color:#0d6efd; }
.dpcs-dpcp-area .dpcs-dashboard-card .amount-info { color:#0aa2c0; }
.dpcs-dpcp-area .dpcs-dashboard-card .amount-warning { color:#b7791f; }
.dpcs-dpcp-area .dpcs-dashboard-card .amount-danger { color:#c0392b; }
.dpcs-dpcp-area .dpcs-dashboard-card .amount-success { color:#078b76; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .receipt-box td:first-child { border-left:2px solid #0d6efd; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .receipt-box td:last-child { border-right:2px solid #0d6efd; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .receipt-box-first td { border-top:2px solid #0d6efd; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .receipt-box-last td { border-bottom:2px solid #0d6efd; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .receipt-light td { background:#f7f9fc; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .receipt-note td { border-top:1px solid #dfe4ee; color:#7a8496; font-size:11px; text-align:left; font-weight:400; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .prepaid-cell { padding:8px; }
.dpcs-dpcp-area .dpcs-dashboard-prepaid { table-layout:fixed; border:1px solid #dfe4ee; text-align:center; }
.dpcs-dpcp-area .dpcs-dashboard-prepaid th, .dpcs-dpcp-area .dpcs-dashboard-prepaid td { padding:7px 5px; border:1px solid #dfe4ee; text-align:center; font-size:12px; font-weight:400; }
.dpcs-dpcp-area .dpcs-dashboard-prepaid th { background:#f7f9fc; color:#405189; font-weight:700; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .section-top td { border-top:1px solid #cfd6e2; }
.dpcs-dpcp-area .dpcs-dashboard-receipts .dashboard-section-title td { padding:8px 15px; background:#eef1f5; color:#405189; font-size:12px; font-weight:700; text-align:left; }

/* Dashboard：還原原系統的卡片層級與配色，僅沿用本專案字型及主色。 */
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-filter {
    gap: 12px;
    margin-bottom: 18px;
    padding: 16px 20px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 6px rgba(0, 0, 0, .05);
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-filter input { width:160px; }
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-filter-actions { gap:8px; }
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-filter-actions .btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:32px;
    margin:0;
    padding:0 10px;
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-filter-actions span { margin:0 0 0 4px; }
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats {
    gap:16px;
    margin-bottom:24px;
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats > .dpcs-dashboard-stat {
    min-height:91px;
    padding:18px 20px;
    border:0;
    border-radius:10px;
    color:#fff;
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats > .dpcs-dashboard-stat strong {
    color:#fff;
    font-size:26px;
    line-height:1.2;
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats > .dpcs-dashboard-stat span {
    color:rgba(255,255,255,.8);
    font-size:12px;
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats > .is-revenue {
    background:linear-gradient(135deg,#3a7bd5,#2563eb);
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats > .is-profit {
    background:linear-gradient(135deg,#11998e,#059669);
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats > .is-uncollected {
    background:linear-gradient(135deg,#eb5757,#dc2626);
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-stats > .is-vendor-cost {
    background:linear-gradient(135deg,#f7971e,#d97706);
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-grid {
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    gap:16px;
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-card {
    border:0;
    border-radius:10px;
    box-shadow:0 1px 8px rgba(0,0,0,.07);
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-card h3 {
    padding:12px 16px;
    border-bottom:1px solid #f0f2f5;
    background:#fff;
    color:#273b66;
    font-weight:600;
}
.dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-card td { border-bottom-color:#dee2e6; }
@media (max-width:900px) {
    .dpcs-dpcp-area .dpcs-dashboard-page .dpcs-dashboard-grid { grid-template-columns:1fr; }
}
.dpcs-order-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.dpcs-order-filter label { display:grid; gap:3px; color:#273b66; font-size:13px; }.dpcs-order-filter input,.dpcs-order-filter select { width:135px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-order-filter .dpcs-action-button { display:inline-flex; align-items:center; height:32px; padding:0 10px; }.dpcs-order-scenarios { display:flex; flex-wrap:wrap; gap:11px; margin:10px 0; color:#273b66; font-size:13px; }.dpcs-order-scenarios label { display:flex; align-items:center; gap:4px; }.dpcs-orders-table { min-width:1750px; }.dpcs-orders-table th,.dpcs-orders-table td { padding:9px 10px; font-size:13px; }
.dpcs-source-orders .dpcs-order-search-card{padding:12px 14px;margin-bottom:12px;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(17,34,68,.08)}.dpcs-source-orders .dpcs-order-filter{margin:0}.dpcs-source-orders .dpcs-order-query-actions{display:flex;align-items:center;gap:7px;height:32px;align-self:flex-end;transform:translateY(-8px)}.dpcs-source-orders .dpcs-order-query-actions .btn{height:32px;min-height:32px;padding:0 11px;border:0;background:#43c5d7;color:#fff;box-shadow:none}.dpcs-source-orders .dpcs-order-query-actions .btn:hover,.dpcs-source-orders .dpcs-order-query-actions .btn:focus{background:#26aec2;color:#fff}.dpcs-outline-button{height:32px;padding:0 10px;border:1px solid #aeb3bd;background:#fff;color:#405189}.dpcs-outline-button:hover{background:#f1f4f9;color:#273b66}.dpcs-source-orders .dpcs-order-scenarios{margin:12px 0 0}.dpcs-source-orders .dpcs-sortable{cursor:pointer;user-select:none}.dpcs-source-orders .dpcs-sortable i{font-weight:400;opacity:.7}.dpcs-source-orders tfoot td{background:#eef0f4!important;font-weight:700}.dpcs-source-orders tfoot [data-sum-uncollected]{color:#dc3545}.dpcs-inline-actions{display:flex;justify-content:center;gap:5px;white-space:nowrap}.dpcs-inline-actions form{display:inline-flex;margin:0}.dpcs-inline-actions .btn{width:29px;height:29px;padding:0;display:inline-flex;align-items:center;justify-content:center}.dpcs-source-orders .badge{font-size:10px;margin-left:2px}.dpcs-source-orders .dpcs-table-responsive{overflow-x:hidden}.dpcs-source-orders .dpcs-orders-table{width:100%;min-width:0;table-layout:fixed}.dpcs-source-orders .dpcs-orders-table th{ text-align:center!important; }.dpcs-source-orders .dpcs-orders-table th,.dpcs-source-orders .dpcs-orders-table td{padding:8px 5px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.25}.dpcs-source-orders .dpcs-orders-table th:nth-child(1){width:8%}.dpcs-source-orders .dpcs-orders-table th:nth-child(2){width:8%}.dpcs-source-orders .dpcs-orders-table th:nth-child(3),.dpcs-source-orders .dpcs-orders-table th:nth-child(4),.dpcs-source-orders .dpcs-orders-table th:nth-child(9){width:6%}.dpcs-source-orders .dpcs-orders-table th:nth-child(5){width:6%}.dpcs-source-orders .dpcs-orders-table th:nth-child(n+6):nth-child(-n+8),.dpcs-source-orders .dpcs-orders-table th:nth-child(n+10):nth-child(-n+12){width:5.5%}.dpcs-source-orders .dpcs-orders-table th:nth-child(13),.dpcs-source-orders .dpcs-orders-table th:nth-child(14){width:5%}.dpcs-source-orders .dpcs-orders-table th:nth-child(15){width:8%}.dpcs-source-orders .dpcs-orders-table th:nth-child(16){width:8%}
.dpcs-source-orders .dpcs-order-search-card{box-shadow:none}
.dpcs-dpcp-area .dpcs-source-orders .dpcs-order-filter{box-shadow:none}
.dpcs-source-agent-ledger .dpcs-agent-ledger-scenarios{margin:12px 0 0}
.dpcs-source-agent-ledger .dpcs-agent-ledger-search-card{padding:12px 14px;margin-bottom:12px;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.dpcs-dpcp-area .dpcs-source-agent-ledger .dpcs-agent-ledger-filter{margin:0;padding:0;border-radius:0;background:transparent;box-shadow:none}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-search-card{margin-bottom:12px;padding:12px 14px;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.dpcs-dpcp-area .dpcs-source-vendor-reconciliation .dpcs-vendor-recon-filter{margin:0;padding:0;border-radius:0;background:transparent;box-shadow:none}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-actions{display:flex;align-items:center;align-self:flex-end;gap:7px;height:32px;transform:translateY(-8px)}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-actions .btn{height:32px;min-height:32px;padding:0 11px;border:0;background:#43c5d7;color:#fff}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-actions .btn:hover,.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-actions .btn:focus{background:#26aec2;color:#fff}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-scenarios{margin:12px 0 0}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-table{min-width:1500px}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-table th{text-align:center!important;white-space:nowrap}
.dpcs-source-vendor-reconciliation .dpcs-vendor-recon-table tfoot td{background:#eef0f4!important;font-weight:700}
.dpcs-source-vendor-reconciliation .dpcs-vr-confirmed{opacity:.65}
.dpcs-source-vendor-reconciliation .dpcs-vr-currency{display:inline-block;padding:2px 6px;border-radius:3px;background:#eef2f7;color:#405189;font-size:11px;font-weight:700}
.dpcs-source-vendor-reconciliation .dpcs-vr-currency.twd{background:#e7f1ff;color:#0d6efd}.dpcs-source-vendor-reconciliation .dpcs-vr-currency.usdt{background:#e6fbf6;color:#087f6e}
.dpcs-source-vendor-reconciliation .dpcs-vr-remark{max-width:180px;white-space:normal}.dpcs-source-vendor-reconciliation .dpcs-vr-order-ids{min-width:145px}
.popup-window .dpcs-vendor-recon-edit{width:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none}.popup-window .dpcs-vendor-recon-edit .card-footer{padding:14px 18px;background:#fff;border-color:#dee2e6}.popup-window .dpcs-vendor-recon-edit .card-body{padding:16px 18px}.popup-window .dpcs-vendor-recon-edit .form-label{margin-bottom:4px;font-size:13px;font-weight:600}.popup-window .dpcs-vendor-recon-edit .form-control,.popup-window .dpcs-vendor-recon-edit .form-select{min-height:32px;font-size:13px}.popup-window .dpcs-vendor-recon-edit [data-vre-order-items]>div{min-width:700px}
.popup-window .dpcs-order-editor{width:100%;max-width:1140px;margin:0 auto;border:0;border-radius:0;box-shadow:none}.popup-window .dpcs-order-editor .card-header{padding:16px 18px;border-bottom:1px solid #dee2e6;background:#fff}.popup-window .dpcs-order-editor .card-title{font-size:18px;font-weight:700}.popup-window .dpcs-order-editor .card-body{padding:18px}.popup-window .dpcs-order-editor .card-footer{padding:14px 18px;border-top:1px solid #dee2e6;background:#fff}.popup-window .dpcs-order-editor .form-label{margin-bottom:4px;font-size:13px;font-weight:600}.popup-window .dpcs-order-editor .form-control,.popup-window .dpcs-order-editor .form-select{min-height:34px}.popup-window .dpcs-order-editor .btn{min-height:34px}.dpcs-order-reference{margin-bottom:15px;color:#64748b}.dpcs-cancelled-order-banner{padding:10px 12px;margin-bottom:14px;border-color:#c9ced6}.dpcs-order-editor .dpcs-order-vendors{margin-top:2px}.dpcs-order-payment-editor{max-width:760px!important}.dpcs-order-cancel{max-width:720px!important}
.popup-window .dpcs-order-editor .card-body>.row{--bs-gutter-x:.65rem;--bs-gutter-y:.65rem}.popup-window .dpcs-order-editor .form-control,.popup-window .dpcs-order-editor .form-select{padding:.32rem .55rem;font-size:13px;border-color:#cbd5e1;border-radius:5px}.popup-window .dpcs-order-editor .form-label{color:#334155}.popup-window .dpcs-order-editor .dpcs-order-section-title{margin:4px 0 1px;padding-top:10px;border-top:1px solid #e2e8f0;color:#1e293b;font-size:13px;font-weight:700}.popup-window .dpcs-order-editor [data-order-calculation]{padding:9px 11px!important;border-color:#e2e8f0!important;background:#f8fafc!important}.popup-window .dpcs-order-editor .dpcs-order-vendors{padding:11px;border-color:#e2e8f0;background:#f8fafc}.popup-window .dpcs-order-editor .card-footer .btn{min-width:92px}.popup-window .dpcs-order-editor .card-footer .btn-info{background:#2563eb;border-color:#2563eb;color:#fff}.popup-window .dpcs-order-editor .card-footer .btn-light{background:#f1f5f9;border-color:#e2e8f0;color:#475569}
.popup-window .dpcs-order-editor [hidden]{display:none!important}.popup-window .dpcs-order-editor [data-order-vendor-section]{order:4}.popup-window .dpcs-order-editor .col-md-3:has([name="Receivable"]),.popup-window .dpcs-order-editor .col-md-3:has([name="TwdPayment"]),.popup-window .dpcs-order-editor .col-md-3:has([name="RmbPayment"]),.popup-window .dpcs-order-editor .col-md-3:has([name="UsdtPayment"]),.popup-window .dpcs-order-editor .col-md-3:has([name="CashPayment"]),.popup-window .dpcs-order-editor .col-md-3:has([data-wallet-amount]),.popup-window .dpcs-order-editor .col-md-3:has([name="ReferralFee"]){order:5}.popup-window .dpcs-order-editor [data-order-calculation]{order:6}.popup-window .dpcs-order-editor [data-mixed-receivable]{order:7}.popup-window .dpcs-order-editor .col-12:has([name="ReceiptFile"]){order:8}.popup-window .dpcs-order-editor .col-12:has([name="Remark"]){order:9}
.popup-window .dpcs-order-editor .dpcs-order-vendors{padding:0;background:#fff;border:0;border-radius:0}.popup-window .dpcs-order-editor .dpcs-order-vendors>.d-flex{padding:0 0 6px;border-bottom:1px solid #e2e8f0}.popup-window .dpcs-order-editor .dpcs-order-vendors table thead{display:none}.popup-window .dpcs-order-editor .dpcs-order-vendors table,.popup-window .dpcs-order-editor .dpcs-order-vendors tbody{display:block;width:100%}.popup-window .dpcs-order-editor .dpcs-order-vendors tbody tr{display:grid;grid-template-columns:1.65fr 1.2fr .72fr .32fr;gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}.popup-window .dpcs-order-editor .dpcs-order-vendors tbody td{display:block;min-width:0;padding:0;border:0}.popup-window .dpcs-order-editor .dpcs-order-vendors tbody td:nth-child(4),.popup-window .dpcs-order-editor .dpcs-order-vendors tbody td:nth-child(5),.popup-window .dpcs-order-editor .dpcs-order-vendors tbody td:nth-child(6){display:none}.popup-window .dpcs-order-editor .dpcs-order-vendors tbody td:nth-child(2){order:2}.popup-window .dpcs-order-editor .dpcs-order-vendors tbody td:nth-child(3){order:3}.popup-window .dpcs-order-editor .dpcs-order-vendors tbody td:nth-child(7){order:4}.popup-window .dpcs-order-editor .dpcs-order-vendors small{display:none}.popup-window .dpcs-order-editor .dpcs-order-vendors .btn-light{min-height:30px;padding:0 9px}
.dpcs-source-order-modal .dpcs-receipt-picker{display:flex;flex-wrap:nowrap;box-sizing:border-box;height:34px!important;min-height:34px!important;max-height:34px;padding:0;overflow:hidden;border:1px solid #ced4da;border-radius:5px;background:#f1f3f5}.dpcs-source-order-modal .dpcs-receipt-picker-button,.dpcs-source-order-modal .dpcs-receipt-file-name{box-sizing:border-box;height:32px!important;min-height:32px!important;max-height:32px;margin:0}.dpcs-source-order-modal .dpcs-receipt-picker-button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:0 10px;border:0!important;border-radius:0;background:#f1f3f5;color:#212529;font-size:13px;line-height:32px;cursor:pointer}.dpcs-source-order-modal .dpcs-receipt-picker-button:hover{background:#e5e9ed;color:#212529}.dpcs-source-order-modal .dpcs-receipt-file-name{display:flex;align-items:center;min-width:0;padding-top:0;padding-bottom:0;overflow:hidden;border:0!important;border-left:1px solid #ced4da!important;border-radius:0;background:#fff;color:#64748b;font-size:13px;line-height:32px;text-overflow:ellipsis;white-space:nowrap}
.dpcs-agent-ledger-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.dpcs-agent-ledger-filter label { display:grid; gap:3px; color:#273b66; font-size:13px; }.dpcs-agent-ledger-filter input { width:155px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-agent-ledger-filter .dpcs-action-button { display:inline-flex; align-items:center; height:32px; padding:0 10px; }
.dpcs-source-agent-ledger .dpcs-agent-ledger-search-card{padding:12px 14px;margin-bottom:12px;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(17,34,68,.08)}.dpcs-source-agent-ledger .dpcs-agent-ledger-filter{margin:0}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions{display:flex;align-items:center;gap:7px;height:32px;align-self:flex-end;transform:translateY(-8px)}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .btn{height:32px;min-height:32px;padding:0 11px}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-action-button{border:0;background:#43c5d7;color:#fff}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-action-button:hover,.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-action-button:focus{background:#26aec2;color:#fff}.dpcs-source-agent-ledger .dpcs-master-search{position:relative}.dpcs-source-agent-ledger .dpcs-master-list{position:absolute;z-index:30;top:100%;left:0;display:grid;min-width:240px;max-height:140px;overflow-y:auto;border:1px solid #d5dbe6;background:#fff;box-shadow:0 4px 10px rgba(15,23,42,.14)}.dpcs-source-agent-ledger .dpcs-master-option{padding:5px 8px;border:0;border-bottom:1px solid #edf0f4;background:#fff;text-align:left;color:#273b66;font-size:13px}.dpcs-source-agent-ledger .dpcs-master-option:hover{background:#eef6ff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table{min-width:1320px}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tfoot td{background:#eef0f4!important;font-weight:700}.dpcs-source-agent-ledger .dpcs-copy-order{font-size:11px;line-height:1;vertical-align:middle;color:#6c757d}
.dpcs-source-agent-ledger .dpcs-agent-ledger-search-card{padding:0;box-shadow:none;background:transparent}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-action-button{background:#0d6efd}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-action-button:hover,.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-action-button:focus{background:#0b5ed7}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-outline-button{border-color:#6c757d;color:#6c757d;background:#fff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table{background:#fff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table th{background:#f8f9fa!important;color:#212529!important;border-color:#dee2e6!important;font-weight:600;text-align:left!important}.dpcs-source-agent-ledger .dpcs-agent-ledger-table th.text-end{text-align:right!important}.dpcs-source-agent-ledger .dpcs-agent-ledger-table td{padding:.35rem .5rem;border-color:#dee2e6;text-align:left}.dpcs-source-agent-ledger .dpcs-agent-ledger-table td.text-end{text-align:right}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:nth-child(odd),.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:nth-child(even){background:#fff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:hover{background:#f8f9fa}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tfoot td{background:#e9ecef!important}
.dpcs-source-agent-ledger .dpcs-agent-ledger-table{background:#fff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table th,.dpcs-source-agent-ledger .dpcs-agent-ledger-table th.text-end{padding:9px 10px;border:1px solid #d6d6dc;background:#6b70bb!important;color:#fff!important;font-weight:700;text-align:center!important;white-space:nowrap}.dpcs-source-agent-ledger .dpcs-agent-ledger-table td,.dpcs-source-agent-ledger .dpcs-agent-ledger-table td.text-end{padding:9px 10px;border:1px solid #d7d7dc;text-align:center!important;color:#061a3e}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:nth-child(odd),.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:nth-child(even){background:transparent}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:nth-child(odd) td{background:#eaf6ff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:nth-child(even) td{background:#fff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr:hover td{background:#dcefff}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr.table-warning td{background:#fff3cd}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tbody tr.table-danger td{background:#f8d7da}.dpcs-source-agent-ledger .dpcs-agent-ledger-table tfoot td{background:#eef0f4!important;font-weight:700}
.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .btn,.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-action-button,.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .dpcs-outline-button{border:0;background:#43c5d7;color:#fff}.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .btn:hover,.dpcs-source-agent-ledger .dpcs-agent-ledger-actions .btn:focus{border:0;background:#26aec2;color:#fff}
.dpcs-vendor-recon-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.dpcs-vendor-recon-filter label { display:grid; gap:3px; color:#273b66; font-size:13px; }.dpcs-vendor-recon-filter input { width:155px; height:32px; padding:4px 7px; border:1px solid #aeb3bd; border-radius:2px; background:#fff; }.dpcs-vendor-recon-filter label:first-child input { width:220px; }.dpcs-vendor-recon-filter .dpcs-action-button { display:inline-flex; align-items:center; height:32px; margin-bottom:0; padding:0 10px; }.dpcs-vendor-recon-table tfoot td { background:#ececf1; font-weight:700; }.dpcs-recon-calculation { padding:12px 14px; border:1px solid #d8dce7; border-radius:4px; color:#43506c; background:#f7f9fc; }.dpcs-recon-calculation strong { color:#24579d; font-size:17px; margin-left:5px; }
.dpcs-order-vendors { padding:14px; border:1px solid #dce2ed; border-radius:5px; background:#f8fafc; }.dpcs-order-vendors th { color:#405189; font-size:13px; white-space:nowrap; }.dpcs-order-vendors td { min-width:100px; }
@media (max-width: 767px) { .dpcs-table-heading, .dpcs-table-toolbar, .dpcs-table-footer { align-items: flex-start; flex-direction: column; gap: 12px; }.dpcs-table-page { margin-top: 0; } }

/* 原頁 iframe 彈窗：popup 內容不套用主版面高度與留白。 */
.popup-window .main-content { min-height: 0 !important; margin-left: 0 !important; padding-top: 0 !important; }
.popup-window .page-content { min-height: 0 !important; padding: 0 !important; }
.popup-window .container-fluid { max-width: none; padding: 0 !important; }
/* 原頁彈窗內容需隨表單收合，且不可產生 iframe 水平捲軸。 */
html:has(body.popup-window) { overflow: hidden; }
body.popup-window { min-width: 0 !important; overflow: hidden !important; }
html:has(body.popup-window:has(.dpcs-source-order-modal)),
body.popup-window:has(.dpcs-source-order-modal) { overflow-y: auto !important; }
.popup-window #layout-wrapper,
.popup-window .main-content,
.popup-window .page-content,
.popup-window .container-fluid { width: 100% !important; min-width: 0 !important; overflow-x: hidden !important; box-sizing: border-box; }
.popup-window .modal-body { padding: 1rem !important; overflow-x: hidden; }
.popup-window .modal-footer { padding: .75rem !important; }
.popup-window .dpcs-source-order-modal{max-width:1140px;margin:auto;background:#fff}.dpcs-source-order-body{padding:18px}.dpcs-source-order-modal label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:#172b4d}.dpcs-source-order-modal label b{color:#dc3545}.dpcs-source-order-modal label small{font-weight:400;color:#64748b}.dpcs-source-order-modal hr{margin:8px 0;border-color:#dee2e6}.dpcs-source-vendors{margin:10px 0;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6;padding:8px 0}.dpcs-source-vendors>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.dpcs-source-vendor-line{display:grid;grid-template-columns:2fr 1fr .65fr 1.4fr 82px 32px;gap:5px}.dpcs-card-cost{display:flex!important;align-items:center;gap:4px;white-space:nowrap;margin:0!important;font-size:12px!important}.dpcs-card-cost[hidden]{display:none!important}.dpcs-card-cost input{width:15px;height:15px}.dpcs-source-order-footer{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;gap:8px;padding:16px;background:#fff;border-top:1px solid #dee2e6}.dpcs-source-order-footer .btn{min-width:65px}
.popup-window .dpcs-source-order-modal .dpcs-wallet-input,.dpcs-source-order-modal .dpcs-wallet-input{display:flex;flex-wrap:nowrap;width:100%;min-width:0}.popup-window .dpcs-source-order-modal .dpcs-wallet-input .form-select,.dpcs-source-order-modal .dpcs-wallet-input .form-select{flex:0 0 104px;width:104px;min-width:104px;border-radius:4px 0 0 4px}.popup-window .dpcs-source-order-modal .dpcs-wallet-input .form-control,.dpcs-source-order-modal .dpcs-wallet-input .form-control{display:block;flex:1 1 auto;width:1%;min-width:0;border-radius:0 4px 4px 0}.popup-window .dpcs-source-order-modal .input-group .btn,.dpcs-source-order-modal .input-group .btn{min-width:38px;padding:0}.popup-window .dpcs-source-order-modal .input-group .form-control,.dpcs-source-order-modal .input-group .form-control{min-width:0}
.popup-window .dpcs-source-order-modal .dpcs-order-payment-link{display:block;padding:8px 10px;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc;font-size:13px;color:#64748b}.popup-window .dpcs-source-order-modal .dpcs-order-payment-link .btn{height:30px}
.popup-window .dpcs-source-order-modal .form-control:not(textarea),.dpcs-source-order-modal .form-control:not(textarea),.popup-window .dpcs-source-order-modal .form-select,.dpcs-source-order-modal .form-select,.popup-window .dpcs-source-order-modal input[type="file"],.dpcs-source-order-modal input[type="file"]{height:34px!important;min-height:34px!important;padding-top:5px!important;padding-bottom:5px!important;font-size:13px!important}.popup-window .dpcs-source-order-modal .input-group>.btn,.dpcs-source-order-modal .input-group>.btn{height:34px!important;min-height:34px!important}.popup-window .dpcs-source-order-modal textarea.form-control,.dpcs-source-order-modal textarea.form-control{min-height:58px!important;font-size:13px!important}

/* 訂單彈窗：預設使用內容自然高度，不顯示捲軸或多餘空白。 */
body.popup-window:has(.dpcs-source-order-modal) .dpcs-source-order-modal,
body.popup-window:has(.dpcs-source-order-modal) .dpcs-source-order-modal form { height:auto; display:block; }
body.popup-window:has(.dpcs-source-order-modal) .dpcs-source-order-body { max-height:none; overflow:visible; }

/* 只有內容超出可視範圍時才由 JS 加上此 class，讓內容區捲動。 */
html:has(body.popup-window.dpcs-order-constrained),
body.popup-window.dpcs-order-constrained { height:100%; overflow:hidden!important; }
body.popup-window.dpcs-order-constrained .dpcs-source-order-modal,
body.popup-window.dpcs-order-constrained .dpcs-source-order-modal form {
  height:100%; min-height:0; display:flex; flex-direction:column;
}
body.popup-window.dpcs-order-constrained .dpcs-source-order-body {
  flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden;
}
body.popup-window.dpcs-order-constrained #layout-wrapper,
body.popup-window.dpcs-order-constrained .main-content,
body.popup-window.dpcs-order-constrained .page-content,
body.popup-window.dpcs-order-constrained .container-fluid {
  height:100%; min-height:0;
}
body.popup-window:has(.dpcs-source-order-modal) .dpcs-source-order-footer { position:relative; flex:0 0 auto; }
.dpcs-source-order-modal [data-merge-dropdown]{max-height:160px;overflow-y:auto;width:100%;z-index:1060}.dpcs-source-order-modal .dpcs-vendor-line-audit{grid-column:1/-1;color:#6c757d;font-size:10.5px;line-height:1.35}.dpcs-order-overlay[hidden]{display:none!important}.dpcs-order-overlay{position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.5)}.dpcs-order-overlay-dialog{width:min(760px,100%);max-height:90vh;overflow:auto;padding:14px;background:#fff;border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.28)}.dpcs-order-overlay-dialog img{display:block;max-width:100%;margin:auto}.dpcs-source-order-modal [data-payment-history-summary] th,.dpcs-source-order-modal [data-payment-history-summary] td{font-size:12px;white-space:nowrap;padding:.28rem .4rem}

/* 第 8 筆廠商起，不依賴 JavaScript 量測，直接切換成可捲動的訂單內容。 */
html:has(body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8))),
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) {
  height:100%; overflow:hidden!important;
}
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) .dpcs-source-order-modal,
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) .dpcs-source-order-modal form {
  height:100%; min-height:0; display:flex; flex-direction:column;
}
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) .dpcs-source-order-body {
  flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden;
}

/* 訂單 iframe 的版面容器也必須有明確高度；否則內部 flex 無法縮小，內容會直接被裁切而不會產生捲軸。 */
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) #layout-wrapper,
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) .main-content,
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) .page-content,
body.popup-window:has(.dpcs-source-order-modal [data-lines] > .dpcs-source-vendor-line:nth-child(8)) .container-fluid {
  height:100%;
  min-height:0;
}

/* 外層 iframe 視窗不再自行捲動；訂單內容區負責捲動，footer 因此不會被裁切。 */
#dpcs-page-modal .modal-dialog-scrollable .modal-body:has(#dpcs-page-modal-frame) { overflow:hidden; }
#dpcs-page-modal:has(#dpcs-page-modal-footer:not(.d-none)) .modal-dialog { max-height:calc(100vh - 2rem); }
#dpcs-page-modal:has(#dpcs-page-modal-footer:not(.d-none)) .modal-content { max-height:calc(100vh - 2rem); }

/* 訂單表格已固定各欄寬，不需要捲動容器；保留 visible 讓操作選單能浮在表格上方。 */
.dpcs-source-orders .dpcs-table-responsive { overflow: visible; }

/*
 * 訂單作業目前共有 18 欄（新增「匯差成本」與「淨利」後的完整順序）。
 * 原本只配置到第 16 欄，在 table-layout: fixed 下使建立／修改人員與操作欄
 * 被壓縮到剩餘 1% 寬度，造成文字逐字直向換行。
 */
.dpcs-source-orders .dpcs-orders-table th:nth-child(1) { width: 8%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(2) { width: 8%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(3) { width: 7%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(4) { width: 5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(5) { width: 6%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(6) { width: 4.5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(7) { width: 4.5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(8) { width: 5.5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(9) { width: 6.5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(10) { width: 5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(11) { width: 5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(12) { width: 4.5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(13) { width: 4.5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(14) { width: 4%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(15) { width: 5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(16) { width: 6.5%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(17) { width: 8%; }
.dpcs-source-orders .dpcs-orders-table th:nth-child(18) { width: 2.5%; }

/* 代理總帳查詢列與勾選條共用同一個白色查詢卡片。 */
.dpcs-source-agent-ledger .dpcs-agent-ledger-search-card {
  margin-bottom: 12px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}
.dpcs-dpcp-area .dpcs-source-agent-ledger .dpcs-agent-ledger-filter {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* 訂單作業與員工交班共用單一查詢卡片留白，避免開始時間再向右縮一層。 */
.dpcs-dpcp-area .dpcs-source-orders .dpcs-order-filter {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* DPCP 04.Design/Login.dc.html login composition */
.dpcs-login-body { min-width:320px; min-height:100vh; margin:0; color:#0f172a; background:#050b1f; font-family:"Inter","Noto Sans TC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.dpcs-login-body * { box-sizing:border-box; }
.dpcs-login-page { position:relative; display:grid; place-items:center; min-height:100vh; overflow:hidden; padding:48px 24px; background:radial-gradient(1200px 700px at 80% -10%,rgba(37,99,235,.22),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(30,79,206,.30),transparent 55%),linear-gradient(180deg,#07142f 0%,#0a1a40 55%,#050b1f 100%); }
.dpcs-login-grid { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(to right,rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.06) 1px,transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 50%,#000 40%,transparent 100%); mask-image:radial-gradient(ellipse 90% 70% at 50% 50%,#000 40%,transparent 100%); }
.dpcs-login-glow { position:absolute; top:-260px; right:-260px; width:720px; height:720px; pointer-events:none; border-radius:50%; background:conic-gradient(from 220deg,transparent 0deg,rgba(96,165,250,.20) 60deg,transparent 140deg); filter:blur(40px); }
.dpcs-login-shell { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 1fr; width:100%; max-width:1040px; overflow:hidden; border:1px solid rgba(148,163,184,.14); border-radius:20px; background:rgba(255,255,255,.02); box-shadow:0 40px 80px -20px rgba(0,0,0,.55); }
.dpcs-login-brand-panel { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:560px; overflow:hidden; padding:44px 44px 40px; color:#e2e8f0; background:linear-gradient(155deg,rgba(30,79,206,.18) 0%,transparent 50%),linear-gradient(180deg,#0c1f4d 0%,#07153a 100%); }
.dpcs-login-brand { display:flex; align-items:center; gap:16px; }
.dpcs-login-brand-mark { position:relative; display:inline-flex; flex:none; align-items:center; justify-content:center; width:72px; height:72px; margin:-12px; }
.dpcs-login-brand-mark > span { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 50% 45%,rgba(96,165,250,.60),rgba(37,99,235,.22) 42%,transparent 68%); filter:blur(3px); }
.dpcs-login-brand-mark svg { position:relative; width:42px; height:42px; fill:none; stroke:#fff; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.dpcs-login-brand > span:last-child { display:grid; }
.dpcs-login-brand strong { color:#fff; font-size:25px; font-weight:700; letter-spacing:.06em; line-height:1.05; }
.dpcs-login-brand small { margin-top:5px; color:#8fa0bd; font-size:12.5px; font-weight:500; letter-spacing:.04em; }
.dpcs-login-secure-label { display:inline-flex; align-items:center; gap:8px; margin-top:34px; color:#93c5fd; font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.dpcs-login-secure-label i { width:6px; height:6px; border-radius:50%; background:#60a5fa; box-shadow:0 0 0 4px rgba(59,130,246,.16); }
.dpcs-login-brand-panel h1 { max-width:390px; margin:14px 0 12px; color:#fff; font-size:27px; font-weight:700; line-height:1.35; letter-spacing:-.01em; }
.dpcs-login-brand-panel h1 em { color:#93c5fd; font-style:normal; }
.dpcs-login-brand-copy { max-width:390px; margin:0; color:#8fa0bd; font-size:14px; line-height:1.6; }
.dpcs-login-admin-note { display:flex; align-items:flex-start; gap:12px; max-width:400px; margin-top:28px; padding:14px 16px; border:1px solid rgba(148,163,184,.16); border-radius:12px; background:rgba(255,255,255,.04); }
.dpcs-login-note-icon { display:grid; flex:none; place-items:center; width:34px; height:34px; border-radius:9px; color:#93c5fd; background:rgba(59,130,246,.16); }
.dpcs-login-note-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dpcs-login-admin-note > span:last-child { display:grid; }
.dpcs-login-admin-note strong { margin-bottom:3px; color:#fff; font-size:13px; font-weight:600; }
.dpcs-login-admin-note small { color:#8fa0bd; font-size:12.5px; line-height:1.55; }
.dpcs-login-system-status { display:flex; align-items:center; gap:10px; padding-top:16px; border-top:1px solid rgba(148,163,184,.12); color:#8fa0bd; font-size:12px; }
.dpcs-login-online { display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border:1px solid rgba(52,211,153,.22); border-radius:999px; color:#6ee7b7; background:rgba(52,211,153,.10); font-size:11.5px; font-weight:500; }
.dpcs-login-online i { width:6px; height:6px; border-radius:50%; background:#34d399; box-shadow:0 0 0 3px rgba(52,211,153,.18); }
.dpcs-login-online.is-error { border-color:rgba(248,113,113,.28); color:#fca5a5; background:rgba(239,68,68,.12); }
.dpcs-login-online.is-error i { background:#f87171; box-shadow:0 0 0 3px rgba(248,113,113,.18); }
.dpcs-login-version { margin-left:auto; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; opacity:.7; }
.dpcs-login-form-panel { display:flex; flex-direction:column; justify-content:center; min-height:560px; padding:46px 56px 38px; background:#fff; }
.dpcs-login-heading { margin-bottom:25px; }
.dpcs-login-heading h2 { margin:0 0 6px; color:#0f172a; font-size:24px; font-weight:600; letter-spacing:-.015em; }
.dpcs-login-heading p { margin:0; color:#64748b; font-size:13.5px; }
.dpcs-login-field { margin-bottom:16px; }
.dpcs-login-field label,.dpcs-login-label-row label { display:block; margin:0 0 6px; color:#334155; font-size:12.5px; font-weight:600; }
.dpcs-login-label-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.dpcs-login-label-row > span { color:#64748b; font-size:12px; font-weight:500; }
.dpcs-login-input-wrap { position:relative; display:flex; align-items:center; width:100%; min-height:42px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; transition:border-color .15s,box-shadow .15s; }
.dpcs-login-input-wrap:focus-within { border-color:#3b82f6; box-shadow:0 0 0 4px rgba(37,99,235,.18); }
.dpcs-login-input-wrap > svg { flex:none; width:18px; height:18px; margin-left:12px; color:#94a3b8; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dpcs-login-input-wrap input { width:100%; height:40px; min-width:0; padding:0 12px 0 9px; border:0; outline:0; color:#0f172a; background:transparent; font:inherit; font-size:14px; }
.dpcs-login-input-wrap input::placeholder { color:#94a3b8; }
.dpcs-login-password-toggle { display:grid; flex:none; place-items:center; width:42px; height:40px; padding:0; border:0; color:#94a3b8; background:transparent; cursor:pointer; }
.dpcs-login-password-toggle:hover { color:#2563eb; }
.dpcs-login-password-toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dpcs-login-captcha-row { display:grid; grid-template-columns:minmax(0,1fr) 120px 36px; align-items:center; gap:8px; }
.dpcs-login-captcha-row canvas { width:120px; height:42px; border:1px solid #e2e8f0; border-radius:8px; }
.dpcs-login-captcha-refresh { width:36px; height:36px; padding:0; border:1px solid #dbe7fe; border-radius:8px; color:#1d4ed8; background:#eff4fe; font-size:23px; line-height:1; cursor:pointer; }
.dpcs-login-captcha-refresh:hover { border-color:#93c5fd; background:#dbe7fe; }
.dpcs-login-field-error:empty,.dpcs-login-error:empty,.dpcs-login-error.validation-summary-valid { display:none; }
.dpcs-login-field-error { display:block; margin-top:5px; color:#b91c1c; font-size:12px; }
.dpcs-login-field-error[hidden] { display:none; }
.dpcs-login-error { display:block; margin:0 0 16px; padding:10px 14px; border:1px solid #fecaca; border-radius:8px; color:#b91c1c; background:#fef2f2; font-size:13px; }
.dpcs-login-error ul { margin:0; padding-left:18px; }
.dpcs-login-options { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:1px 0 20px; color:#94a3b8; font-size:12px; }
.dpcs-login-remember { display:inline-flex; align-items:center; gap:7px; color:#475569; font-size:12.5px; cursor:pointer; }
.dpcs-login-remember input { width:15px; height:15px; margin:0; accent-color:#2563eb; }
.dpcs-login-submit { display:inline-flex; align-items:center; justify-content:center; width:100%; height:44px; padding:0 14px; border:1px solid #1d4ed8; border-radius:8px; color:#fff; background:linear-gradient(180deg,#2a6bf0 0%,#1d4ed8 100%); box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 1px 2px rgba(15,23,42,.12); font:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:filter .15s,transform .15s; }
.dpcs-login-submit:hover { filter:brightness(.96); transform:translateY(-1px); }
.dpcs-login-submit:focus-visible { outline:3px solid rgba(37,99,235,.25); outline-offset:2px; }
.dpcs-login-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:24px; color:#94a3b8; font-size:12px; }
@media (max-width:850px) { .dpcs-login-page { padding:24px; }.dpcs-login-shell { grid-template-columns:1fr; max-width:560px; }.dpcs-login-brand-panel { min-height:auto; padding:28px 32px; }.dpcs-login-brand-panel h1,.dpcs-login-brand-copy,.dpcs-login-admin-note { display:none; }.dpcs-login-secure-label { margin-top:20px; }.dpcs-login-system-status { margin-top:22px; }.dpcs-login-form-panel { min-height:auto; padding:38px 40px; } }
@media (max-width:520px) { .dpcs-login-page { place-items:start center; padding:14px; }.dpcs-login-shell { border-radius:14px; }.dpcs-login-brand-panel { padding:24px; }.dpcs-login-system-status > span:nth-child(2),.dpcs-login-version { display:none; }.dpcs-login-form-panel { padding:30px 24px; }.dpcs-login-captcha-row { grid-template-columns:minmax(0,1fr) 96px 36px; }.dpcs-login-captcha-row canvas { width:96px; }.dpcs-login-options { align-items:flex-start; flex-direction:column; }.dpcs-login-footer { align-items:flex-start; flex-direction:column; } }
