﻿:root{--id-ink:#23364d;--id-nav:#edf2f7;--id-canvas:#f5f7fa;--id-paper:#fff;--id-blue:#2864aa;--id-blue-dark:#1d4d85;--id-rule:#d5dfe9;--id-muted:#6a7c91;--id-selected:#e7f0fc;--id-danger:#b83c43}
html,body,.x-panel,.x-window,.x-form-field,.x-btn button,.x-grid3,.x-tree,.x-menu{font-family:"Segoe UI","Microsoft JhengHei",Arial,sans-serif!important;font-size:13px!important;color:var(--id-ink)}
body.dy-admin{margin:0;background:var(--id-canvas)}
.dy-admin .x-panel-header,.dy-admin .x-window-header,.dy-admin .x-toolbar,.dy-admin .x-panel-footer,.dy-admin .x-panel-tbar,.dy-admin .x-tab-panel-header{background-image:none!important}
.dy-admin .x-panel-header{background:var(--id-paper);border-color:var(--id-rule);padding:11px 12px;color:var(--id-ink);font-size:14px;font-weight:600}
.dy-admin .x-panel-header-text{font-family:inherit;font-size:14px;font-weight:600}
.dy-admin .x-panel-body,.dy-admin .x-panel,.dy-admin .x-grid-panel{border-color:var(--id-rule)}
.dy-admin .x-toolbar{background:#f8fafc;border-color:var(--id-rule);padding:8px 10px}
.dy-admin .x-toolbar td{vertical-align:middle}
.dy-admin .x-toolbar .x-form-text{margin-right:7px}
.dy-admin .x-form-text,.dy-admin .x-form-textarea,.dy-admin .x-form-field{background:#fff;background-image:none;border:1px solid #becbda;color:var(--id-ink);border-radius:3px;padding:3px 5px;box-sizing:border-box}
.dy-admin .x-form-text:focus,.dy-admin .x-form-textarea:focus{border-color:var(--id-blue);outline:2px solid #2864aa25;outline-offset:0}
.dy-admin .x-form-invalid{border-color:var(--id-danger)!important}
.dy-admin .x-form-trigger{border-color:#becbda;background-color:#f0f4f9}
.dy-admin .x-form-item-label{color:var(--id-muted)}
.dy-admin .x-btn{border:1px solid #bdccdc;border-radius:4px;background:#fff;margin:1px 3px 1px 0;transition:background-color .1s,border-color .1s}
.dy-admin .x-btn-tl,.dy-admin .x-btn-tr,.dy-admin .x-btn-tc,.dy-admin .x-btn-ml,.dy-admin .x-btn-mr,.dy-admin .x-btn-mc,.dy-admin .x-btn-bl,.dy-admin .x-btn-br,.dy-admin .x-btn-bc{background-image:none!important;background-color:transparent!important}
.dy-admin .x-btn button{height:29px;line-height:29px;padding:0 9px;font-weight:600;color:#335576;cursor:pointer}
.dy-admin .x-btn-text-icon .x-btn-icon-small-left .x-btn-text,.dy-admin .x-btn-icon-small-left .x-btn-text{padding-left:23px;background-position:3px center}
.dy-admin .x-btn-over{background:#eef4fc;border-color:#6b99cc}
.dy-admin .x-btn-click{background:#dce9f9;transform:translateY(1px)}
.dy-admin .x-btn-focus{outline:2px solid #2864aa65;outline-offset:2px}
.dy-admin .x-item-disabled,.dy-admin .x-btn-disabled{opacity:.46;cursor:default}
.dy-admin .dy-btn-primary{background:var(--id-blue);border-color:var(--id-blue)}
.dy-admin .dy-btn-primary button{color:#fff}
.dy-admin .dy-btn-primary.x-btn-over{background:var(--id-blue-dark);border-color:var(--id-blue-dark)}
.dy-admin .dy-btn-add{background:#edf4ff;border-color:#9ab7db}
.dy-admin .dy-btn-danger{border-color:#dfbdc0;background:#fffafa}
.dy-admin .dy-btn-danger button{color:var(--id-danger)}
.dy-admin .x-grid3{background:#fff}
.dy-admin .x-grid3-header{background:#eef3f8;background-image:none;border-bottom:1px solid #cad6e4}
.dy-admin .x-grid3-hd-row td{border-right:1px solid #dce4ee;border-left:0}
.dy-admin .x-grid3-hd-inner{padding:9px 6px;font-weight:600;color:#405772;line-height:17px}
.dy-admin .x-grid3-cell-inner{padding:6px;line-height:18px;font-size:13px}
.dy-admin .x-grid3-row{border-color:#e7edf4;border-width:0 0 1px;background:#fff}
.dy-admin .x-grid3-row-alt{background:#fbfcfe}
.dy-admin .x-grid3-row-over{background:#f0f5fc;border-color:#dce6f2}
.dy-admin .x-grid3-row-selected{background:var(--id-selected)!important;border-color:#d5e2f3!important}
.dy-admin .x-grid3-hd-menu-open,.dy-admin .x-grid3-hd-over{background:#e2ebf6}
.dy-admin .x-tree-node{font-size:13px}
.dy-admin .x-tree-node-el{padding:5px 4px;line-height:24px;border-bottom:1px solid transparent}
.dy-admin .x-tree-node-over{background:#e1eaf6}
.dy-admin .x-tree-selected{background:#dce9fa!important;box-shadow:inset 3px 0 var(--id-blue)}
.dy-admin .x-tree-node a span{color:var(--id-ink)}
.dy-admin .x-tree-selected a span{color:#174b85;font-weight:600}
.dy-admin .x-tab-panel-header{background:#eaf0f7;border-color:var(--id-rule);padding-top:8px}
.dy-admin .x-tab-strip-top{background:none;border-bottom:1px solid var(--id-rule)}
.dy-admin .x-tab-strip-top .x-tab-right,.dy-admin .x-tab-strip-top .x-tab-left,.dy-admin .x-tab-strip-top .x-tab-strip-inner{background-image:none}
.dy-admin ul.x-tab-strip li{background:#eaf0f7;border:1px solid transparent;border-bottom:0;margin-left:6px}
.dy-admin ul.x-tab-strip li.x-tab-strip-active{background:#fff;border-color:var(--id-rule);border-top:3px solid var(--id-blue)}
.dy-admin .x-tab-strip span.x-tab-strip-text{padding:10px 8px;color:#536a84;font-family:inherit;font-size:13px}
.dy-admin .x-tab-strip-active span.x-tab-strip-text{padding-top:8px;color:#204e84;font-weight:600}
.dy-admin .x-tab-panel-body{border-color:var(--id-rule);background:#fff}
.dy-admin .x-window-tl,.dy-admin .x-window-tr,.dy-admin .x-window-tc,.dy-admin .x-window-ml,.dy-admin .x-window-mr,.dy-admin .x-window-mc,.dy-admin .x-window-bl,.dy-admin .x-window-br,.dy-admin .x-window-bc{background-image:none!important;background-color:#fff!important}
.dy-admin .x-window{border:1px solid #b9c9dc;border-radius:5px;box-shadow:0 9px 25px #203c5b24;overflow:hidden}
.dy-admin .x-window-header{padding:12px 10px;border-bottom:1px solid var(--id-rule);color:var(--id-ink);font-size:15px}
.dy-admin .x-window-header-text{font-weight:600;font-family:inherit}
.dy-admin .x-window-body{background:#fff;color:var(--id-ink)}
.dy-admin .x-window-bbar .x-toolbar,.dy-admin .x-panel-btns{padding:9px;background:#f5f8fc}
.dy-admin .ext-el-mask{background:#e7edf5}
.dy-admin a:focus-visible,.dy-admin button:focus-visible,.dy-admin select:focus-visible{outline:2px solid var(--id-blue);outline-offset:3px}
#webTopMenuPanel .x-panel-body{border:0;background:#fff}
.dy-appbar{height:68px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:0 22px;border-bottom:1px solid var(--id-rule);gap:18px;background:#fff}
.dy-identity{display:flex;align-items:center;gap:12px;min-width:0}
.dy-monogram{width:36px;height:36px;flex:none;display:grid;place-items:center;background:var(--id-blue);border-radius:5px;color:#fff;font-weight:700;font-size:21px;letter-spacing:-1px}
.dy-brand{font-size:18px;line-height:25px;font-weight:650;color:#233e60;white-space:nowrap}
.dy-brand small{display:block;font-size:11px;line-height:15px;color:var(--id-muted);font-weight:400;letter-spacing:.2px}
.dy-appbar-actions{display:flex;align-items:center;gap:12px;flex:none}
.dy-environment{font-size:12px;color:#6d8096;padding:4px 8px;border:1px solid #dce5ef;border-radius:3px;background:#f7f9fc}
.dy-language{font:12px "Segoe UI","Microsoft JhengHei",sans-serif;border:1px solid #ccd8e6;border-radius:4px;background:white;color:#39516e;padding:6px}
.dy-nav-toggle{border:1px solid #ccd8e6;background:#fff;border-radius:3px;color:#39516e;font-size:17px;width:30px;height:30px;cursor:pointer}
#TreePanel1 .x-panel-body{background:var(--id-nav);border:0}
#TreePanel1 .x-tree-node-el{margin:3px 8px;padding:7px 6px;border-radius:3px;line-height:24px}
#TreePanel1 .x-panel-header{background:var(--id-nav);border:0;color:#6a7d93;font-size:12px}
#TreePanel1 .x-toolbar,#TreePanel1 .x-statusbar{background:var(--id-nav);border:0;color:#6a7d93}
#TreePanel1 .x-statusbar{font-size:11px}
#TabPanelContent>.x-panel-header{display:none}
.dy-footer{height:28px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8190a2;background:#f4f7fa;padding:0 14px;border-top:1px solid #e0e7ef;box-sizing:border-box}
.dy-login{background:#edf2f8!important}
.dy-login #Window1{border-top:4px solid var(--id-blue)}
.dy-login #Window1 .x-window-header{font-size:17px;padding:15px 12px;border-bottom:1px solid #e4ebf3}
.dy-login #Window1 .x-panel-body,.dy-login #Window1 .x-panel-mc{background:#fff!important;border:0!important;background-image:none!important}
.dy-login #Window1 .x-form-text{height:31px!important;padding:5px 7px;font-size:14px!important}
.dy-login #txtUserName,.dy-login #txtPwd{width:245px!important}
.dy-login #txtCode{width:130px!important}
.dy-login #y_img{width:96px;height:30px;display:block;cursor:pointer}
.dy-login .x-shadow{display:none!important}
.dy-login #Label1,.dy-login #Label5,.dy-login #Label2{width:70px!important;text-align:right;padding-right:8px;box-sizing:border-box}
html[lang="en"] .dy-login #Label2{white-space:normal;line-height:15px!important}
.dy-login #Window1 .x-label{font-size:13px;color:#5f738c;line-height:30px}
.dy-login #BtnLogin{background:var(--id-blue);border-color:var(--id-blue)}
.dy-login #BtnLogin .x-btn-mc{vertical-align:middle!important;text-align:center!important}.dy-login #BtnLogin em{display:block;line-height:0}.dy-login #BtnLogin button{min-width:88px;height:29px!important;line-height:29px!important;box-sizing:border-box;vertical-align:middle;text-align:center;padding-top:0!important;padding-bottom:0!important;color:#fff;font-size:14px!important}
.dy-login-brand{position:fixed;top:30px;left:34px;display:flex;align-items:center;gap:11px;color:#385677;font-weight:600;font-size:17px}
.dy-login-language{position:fixed;top:33px;right:34px}
.dy-login-note{position:fixed;bottom:24px;left:0;right:0;text-align:center;color:#8393a7;font-size:12px}
@media(max-width:760px){.dy-appbar{padding:0 10px;gap:7px}.dy-brand{font-size:14px}.dy-brand small,.dy-environment{display:none}.dy-appbar-actions{gap:6px}.dy-login-brand{left:15px;top:18px;font-size:14px}.dy-login-language{right:15px;top:18px}.dy-language{max-width:100px}.dy-admin .x-grid3-cell-inner{font-size:12px}}
@media(prefers-reduced-motion:reduce){.dy-admin *{transition:none!important;animation:none!important}}

/* Ext 3 button cells otherwise force 16px against the custom 29px line box. */
.dy-admin .x-btn button{height:29px!important;line-height:29px!important;box-sizing:border-box;vertical-align:middle;text-align:center;padding-top:0!important;padding-bottom:0!important}
.dy-admin .x-btn-mc{vertical-align:middle!important;text-align:center!important}
.dy-admin .x-btn-mc em{display:block;line-height:0}
.dy-admin .x-tree-node a,.dy-admin .x-tree-node a span,.dy-admin .x-tab-strip-text,.dy-admin .x-panel-header-text,.dy-admin .x-toolbar label{font-family:"Segoe UI","Microsoft JhengHei",Arial,sans-serif!important;font-size:13px!important}
.dy-admin .x-tree-node-el img{vertical-align:middle!important}
.dy-admin .x-tree-node a{vertical-align:middle;line-height:24px}
/* Query toolbars: reserve full input height and a gap after each complete control. */
.dy-page #Toolbar2{padding:12px 14px!important;overflow-x:auto}
.dy-page #Toolbar2 .x-toolbar-left-row>td{padding-right:10px!important;vertical-align:middle!important}
.dy-page #Toolbar2 .x-toolbar-left-row>td:last-child{padding-right:0!important}
.dy-page #Toolbar2 input.x-form-text{height:30px!important;line-height:22px!important;padding:3px 7px!important;margin:0!important;font-size:13px!important}
.dy-page #Toolbar2 .x-form-trigger{height:30px!important;box-sizing:border-box;background-position:0 center!important;background-repeat:no-repeat!important}
.dy-page #Toolbar2 .x-form-field-wrap{margin:0!important}
.dy-page #Toolbar2 .x-form-cb-label{margin-left:6px;margin-right:8px;white-space:nowrap;line-height:30px}/* Spacious query controls and readable Ext dropdown lists. */
.dy-page #Toolbar2{padding:16px 18px!important}
.dy-page #Toolbar2 .x-toolbar-left-row>td{padding-right:18px!important}
.dy-page #Toolbar2 #BtnQuery{margin-left:12px!important;margin-right:12px!important}
.dy-page #Toolbar2 .x-form-trigger{background-image:none!important;background-color:#edf3fa!important;border:1px solid #becbda!important;border-radius:0 4px 4px 0;position:relative}
.dy-page #Toolbar2 .x-form-field-wrap{padding-right:0}
.dy-page #Toolbar2 .x-form-trigger{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='30' viewBox='0 0 17 30'%3E%3Cpath d='m5 13 3.5 4 3.5-4' fill='none' stroke='%23465f7c' stroke-width='1.6'/%3E%3C/svg%3E")!important;background-position:center!important;background-repeat:no-repeat!important}
.dy-admin .x-combo-list{border:1px solid #b7c8dc!important;border-radius:4px;background:#fff!important;box-shadow:0 5px 16px #203c5b26;font-family:"Segoe UI","Microsoft JhengHei",sans-serif!important;font-size:13px!important}
.dy-admin .x-combo-list-inner{padding:4px 0!important}
.dy-admin .x-combo-list-item{padding:8px 12px!important;line-height:20px!important;border:0!important;color:#29435e;cursor:pointer}
.dy-admin .x-combo-selected{background:#e6f0fd!important;color:#174f89!important;font-weight:600}
.dy-admin .x-combo-list-item:hover{background:#f0f5fc!important}
.dy-page #Toolbar2 .x-form-trigger{position:absolute!important;top:0!important;right:0!important}
/* Color accents preserve dense administration readability. */
.dy-page #Toolbar2{background:linear-gradient(110deg,#edf5ff,#f5f3ff)!important;border-bottom:1px solid #cbdcf0!important}
.dy-admin #webTopMenuPanel .x-panel-header{background:#234f7c!important;color:#fff!important;border-bottom:3px solid #5aaed1}
.dy-admin #webTopMenuPanel .x-panel-header-text{color:#fff!important;font-weight:700}
.dy-admin #TreePanel1 .x-panel-header{background:#e0ecf9!important;color:#365f86!important}
.dy-admin .x-tree-selected{background:#dceafa!important;box-shadow:inset 4px 0 #347ac0}
.dy-admin #btnAdd,.dy-admin #btnChildAdd{background:#e8f6ee!important;border-color:#a5d1b7!important}
.dy-admin #btnAdd button,.dy-admin #btnChildAdd button{color:#276d47!important}
.dy-admin #btnEdit{background:#fff5de!important;border-color:#e8ce8e!important}
.dy-admin #btnEdit button{color:#8a611d!important}
.dy-admin #btnDelete{background:#fff0f1!important;border-color:#e3b5bb!important}
.dy-admin #btnDelete button{color:#aa3948!important}
.dy-admin #btnRefresh,.dy-admin #btnRefesh{background:#f0ebfc!important;border-color:#c8b9e7!important}
.dy-admin #btnRefresh button,.dy-admin #btnRefesh button{color:#685093!important}
.dy-admin .x-grid3-header{background:#e3edf9!important;border-bottom:2px solid #bdd1ea!important}
.dy-admin .x-grid3-row-alt{background:#f4f8fd!important}
.dy-admin .x-grid3-row-over{background:#eaf4fc!important}
.dy-admin .x-grid3-row-selected{background:#dcecff!important}
.dy-admin #Panel2 .x-panel-header{background:#e8eef6!important;color:#526d8b!important}/* Footer, paging and navigation status. */
.dy-admin #Toolbar1{background:#edf3fb!important;border-top:1px solid #c4d5e9!important;padding:8px 12px!important}
.dy-pager{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;min-height:34px;font:13px "Segoe UI","Microsoft JhengHei",sans-serif;color:#536b85}
.dy-pager-summary,.dy-pager-actions,.dy-pager-jump{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.dy-pager-summary span[id$="_Container"]{font-weight:700;color:#285e96}
.dy-pager-actions a,.dy-pager-jump a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:28px;padding:0 9px;background:#fff;border:1px solid #bdcfe3;border-radius:4px;color:#275d94!important;text-decoration:none!important;box-sizing:border-box}
.dy-pager-actions a:hover,.dy-pager-jump a:hover{background:#e0edfd;border-color:#6597cc}
.dy-pager-actions .x-item-disabled{opacity:.42}
.dy-pager-jump input{width:56px!important;height:29px!important;line-height:23px!important;text-align:center;padding:2px 5px!important;margin:0 3px;border-radius:4px}
.dy-pager-jump a{background:#2864aa;color:white!important;border-color:#2864aa}
.dy-admin #StatusBar1{background:#e4edf8!important;padding:8px 10px!important;border-top:1px solid #c8d8ea!important;color:#536f8e;min-height:30px;box-sizing:border-box}
.dy-admin #StatusBar1 .x-status-text{font-size:12px!important;line-height:20px;white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.dy-admin #StatusBar1 br{display:none}
.dy-admin #Panel2 .x-panel-header{padding:5px 14px!important;font-size:12px!important;background:#e3ebf6!important;border-top:1px solid #c6d6e9}.dy-pager-jump{align-items:center!important;line-height:30px!important;min-height:30px}
.dy-pager-jump>span{display:inline-flex!important;align-items:center!important;vertical-align:middle!important;line-height:30px!important}
.dy-pager-jump .x-form-field-wrap{display:inline-flex!important;align-items:center!important;height:30px!important;vertical-align:middle!important}
.dy-pager-jump input{display:block!important;height:30px!important;line-height:24px!important;box-sizing:border-box!important;vertical-align:middle!important}
.dy-pager-jump a{height:30px!important;line-height:28px!important;vertical-align:middle!important}
.dy-admin input[id$='txtPageNum']{height:30px!important;min-height:30px!important;width:56px!important;line-height:24px!important;padding:2px 5px!important;box-sizing:border-box!important;text-align:center!important;vertical-align:middle!important}
#btnAdminInfoModify button,#btnAdminInfoSave button,#btnPwdSave button{min-width:72px;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:normal!important;padding:0 12px!important}
#panelAdd .x-panel-btns,#panelPassword .x-panel-btns{padding:10px!important}