*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--font-sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;--font-mono:var(--font-sans);--br:#ea880c;--brd:#c97008;--brl:#f5c060;--brxl:#fde8bc;--brxxl:#fff8ed;--brtxt:#5c3800;--cream:#fdf8f2;--warm:#f8f0e4}
html,body{height:100%;background:#e8dcc8;font-family:var(--font-sans);font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:12px}
.app{display:flex;width:100%;max-width:1160px;height:780px;border:1px solid #d8c8a8;border-radius:16px;overflow:hidden;background:var(--cream);box-shadow:0 8px 48px rgba(100,50,0,.14);position:relative}
.sb{width:196px;background:#1e293b;display:flex;flex-direction:column;flex-shrink:0}
.sb-logo{padding:12px 14px;border-bottom:1px solid #2d3f55;display:flex;align-items:center;gap:9px}
.logo-b{width:30px;height:30px;background:var(--br);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
nav{flex:1;overflow-y:auto;padding:4px 7px}
nav::-webkit-scrollbar{width:3px}nav::-webkit-scrollbar-thumb{background:#2d3f55;border-radius:99px}
.ns{font-size:10px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.07em;padding:8px 7px 2px}
.ni{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:7px;cursor:pointer;font-size:12px;color:#94a3b8;margin-bottom:1px;border:none;background:transparent;width:100%;text-align:left;transition:all .12s}
.ni:hover{background:rgba(255,255,255,.07);color:#e2e8f0}
.ni.on{background:rgba(234,136,12,.18);color:#f5c060;font-weight:500}
.ni .dot{width:3px;height:12px;border-radius:99px;background:var(--br);margin-left:auto}
.ni .cnt{background:var(--br);color:#fff;font-size:9px;padding:1px 5px;border-radius:99px;margin-left:auto}
.sb-bot{padding:8px 10px;border-top:1px solid #2d3f55;display:flex;align-items:center;gap:7px}
.av{width:24px;height:24px;border-radius:50%;background:var(--brxl);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--brtxt);flex-shrink:0}
.main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.topbar{height:46px;background:#fff;border-bottom:1px solid #eedfc8;display:flex;align-items:center;padding:0 16px;gap:10px;flex-shrink:0}
.content{flex:1;overflow-y:auto;padding:16px;background:var(--cream)}
.content::-webkit-scrollbar{width:4px}.content::-webkit-scrollbar-thumb{background:#e0d0b8;border-radius:99px}
.pg{display:none}.pg.on{display:block}
.ph{font-size:16px;font-weight:500;color:#1e293b;margin-bottom:2px}
.ps{font-size:12px;color:#94a3b8;margin-bottom:12px}
.btn-p{padding:6px 13px;border-radius:8px;font-size:12px;font-weight:500;background:var(--br);color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background .15s}
.btn-p:hover{background:var(--brd)}
.btn-s{padding:5px 11px;border-radius:8px;font-size:12px;background:#fff;border:1px solid #e0d0b8;color:#475569;cursor:pointer;transition:all .12s}
.btn-s:hover{background:var(--warm);border-color:var(--br)}
.btn-g{padding:3px 9px;border-radius:7px;font-size:11px;background:transparent;border:1px solid #e0d0b8;color:#64748b;cursor:pointer;transition:all .12s}
.btn-g:hover,.btn-g.on{background:var(--brxxl);border-color:var(--br);color:var(--brtxt)}
.card{background:#fff;border:1px solid #eedfc8;border-radius:12px;overflow:hidden}
.chd{padding:9px 14px;border-bottom:1px solid #f0e6d6;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.cht{font-size:13px;font-weight:500;color:#334155}
.sc{background:var(--warm);border-radius:10px;padding:10px 12px;border:1px solid #f0dfc8}
.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.detail-full-row{grid-column:1/-1;min-width:0}
.detail-full-row>.card{width:100%;margin-top:0!important}
.detail-info-card,.detail-progress-card{min-width:0;align-self:start}
.detail-progress-card{max-height:72vh;overflow:auto}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
table{width:100%;border-collapse:collapse;font-size:12px}
th{text-align:left;padding:6px 11px;font-size:11px;font-weight:500;color:#a08060;border-bottom:1px solid #f0e6d6;background:var(--warm);white-space:nowrap}
td{padding:6px 11px;border-bottom:1px solid #f5ede0;color:#334155;vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--brxxl)}
.badge{display:inline-flex;padding:2px 7px;border-radius:99px;font-size:10px;font-weight:500;white-space:nowrap}
.b-ok{background:#e6f4d8;color:#2a6010}.b-wait{background:#fde8bc;color:#7a4500}.b-rej{background:#fde0e0;color:#8a1010}
.b-blue{background:#e0eeff;color:#1a4080}.b-purp{background:#ede8ff;color:#4a2890}.b-gray{background:#f0ece6;color:#6a5840}.b-teal{background:#d8f8f0;color:#0a5040}
.ep{display:inline-flex;padding:2px 6px;border-radius:5px;font-size:10px;font-weight:500;background:var(--brxl);color:var(--brtxt);border:1px solid #f0d090}
.dt{display:inline-flex;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:500;background:#e0eeff;color:#1a4080;font-family:var(--font-sans)}
.acct-dr{background:#e6f4d8;color:#1a5010;border-radius:5px;padding:2px 7px;font-family:var(--font-sans);font-size:11px;font-weight:500}
.acct-cr{background:#fde0e0;color:#8a1010;border-radius:5px;padding:2px 7px;font-family:var(--font-sans);font-size:11px;font-weight:500}
input,select,textarea{width:100%;padding:6px 10px;border-radius:8px;border:1px solid #e0d0b8;font-size:12px;color:#334155;background:#fff;font-family:var(--font-sans);transition:border-color .15s}
button,input,select,textarea,table,option,optgroup{font-family:var(--font-sans)!important}
input[type=file]::file-selector-button{font-family:var(--font-sans)!important;font-weight:700}
.approval-file-field{height:64px;width:100%;margin-bottom:7px;border:1px solid #e0d0b8;border-radius:18px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 14px;cursor:pointer;overflow:hidden}
.approval-file-field:focus-within{border-color:var(--br);box-shadow:0 0 0 3px rgba(234,136,12,.08)}
.approval-file-field input[type=file]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.approval-file-button{height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid #8a8a8a;border-radius:4px;background:#fff;color:#111827;font-size:12px;font-weight:850;white-space:nowrap;line-height:1}
.approval-file-name{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2937;font-size:12px;font-weight:800;line-height:1.35}
[style*="font-family"]{font-family:var(--font-sans)!important}
.dt,.acct-dr,.acct-cr,.voucher-no,.mono-sub{font-family:var(--font-sans)!important;font-variant-numeric:tabular-nums}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--br);box-shadow:0 0 0 3px rgba(234,136,12,.08)}
.combo-native-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;border:0!important}
.combo-select{position:relative;width:100%;min-width:180px}
.combo-input{width:100%;height:42px;padding:8px 34px 8px 12px;border-radius:12px;border:1px solid #e0d0b8;background:#fff;color:#334155;font-size:12px;font-weight:650;box-shadow:none}
.combo-input::placeholder{color:#b79a78;font-weight:650}
.combo-input:focus{outline:none;border-color:var(--br);box-shadow:0 0 0 3px rgba(234,136,12,.08)}
.combo-select::after{content:'⌄';position:absolute;right:12px;top:50%;transform:translateY(-52%);color:#9a7a56;font-size:16px;line-height:1;pointer-events:none}
.combo-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:150;background:#fff;border:1px solid #dfc9b1;border-radius:12px;box-shadow:0 18px 38px rgba(80,52,20,.16);max-height:240px;overflow:auto;padding:5px;display:none}
.combo-select.open .combo-menu{display:block}
.combo-option{padding:8px 10px;border-radius:8px;font-size:12px;color:#334155;line-height:1.35;cursor:pointer;overflow-wrap:anywhere}
.combo-option:hover,.combo-option.active{background:#fff3de;color:#7c3f00}
.combo-option.selected{font-weight:800;color:#1a4080;background:#eaf3ff}
.combo-empty{padding:12px;text-align:center;font-size:12px;color:#94a3b8}
.travel-people-field{min-width:0}
.travel-people-picker{background:#fff;border:1px solid #dfc9b1;border-radius:12px;padding:10px;box-shadow:0 10px 26px rgba(80,52,20,.06)}
.travel-people-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}
.travel-people-search{height:40px;border-radius:10px;font-size:12px;font-weight:650}
.travel-people-search::placeholder{color:#b79a78}
.travel-people-count{white-space:nowrap;font-size:11px;font-weight:800;color:#7c3f00;background:#fff7ed;border:1px solid #f0d090;border-radius:999px;padding:6px 10px}
.travel-people-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;min-height:28px}
.travel-person-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e7fb;background:#eff6ff;color:#1f3d67;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
.travel-person-chip button{border:0;background:transparent;color:#64748b;cursor:pointer;font-size:14px;line-height:1;padding:0;width:auto}
.travel-person-chip button:hover{color:#8a1010}
.travel-people-options{max-height:260px;overflow:auto;border:1px solid #f0e6d6;border-radius:10px;background:#fffdf9;padding:5px}
.travel-person-row{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;border:0;background:transparent;border-radius:9px;padding:8px;cursor:pointer;color:#334155}
.travel-person-row:hover{background:#fff7ed}
.travel-person-row.selected{background:#eaf3ff}
.travel-person-check{width:18px;height:18px;border:1px solid #d6c1aa;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:900}
.travel-person-row.selected .travel-person-check{border-color:#2f6fed;background:#2f6fed}
.travel-person-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.travel-person-name{font-size:12px;font-weight:850;color:#263244;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.travel-person-sub{font-size:10px;color:#8ca0b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.travel-person-tier{font-size:10px;font-weight:800;border-radius:999px;padding:3px 7px;background:#f6efe5;color:#7c3f00;white-space:nowrap}
.travel-person-row.selected .travel-person-tier{background:#dbeafe;color:#1e40af}
@media(max-width:720px){
  .travel-people-search-row{grid-template-columns:1fr}
  .travel-people-count{width:max-content}
  .travel-person-row{grid-template-columns:22px minmax(0,1fr)}
  .travel-person-tier{grid-column:2;margin-top:2px;width:max-content}
}

.travel-file-card{border:1px solid #efd7b8;border-radius:12px;padding:10px;margin-bottom:8px;background:#fff}
.travel-file-title{font-size:13px;font-weight:850;color:#263244;margin-bottom:7px}
.travel-file-control{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;border:1px solid #ead3b3;border-radius:12px;background:#fffdf9;padding:8px 10px;cursor:pointer;overflow:hidden;text-align:left;font:inherit;appearance:none;-webkit-appearance:none}
.travel-file-control:hover,.travel-file-control:focus-visible{border-color:var(--br);background:#fff7ed;outline:2px solid rgba(241,138,28,.18);outline-offset:2px}
.travel-file-btn{font-size:12px;font-weight:850;color:#7c3f00;background:#fff7ed;border:1px solid #f0d090;border-radius:9px;padding:6px 10px;white-space:nowrap;line-height:1}
.travel-file-text{font-size:12px;font-weight:650;color:#6f5a43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.travel-file-status{font-size:11px;font-weight:650;color:#8b7358;margin-top:7px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;max-height:72px;overflow:auto}
.travel-file-input{display:none!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important}
.mobile-nav-select{display:none;width:100%;max-width:220px;min-height:38px;font-size:13px;font-weight:650;color:#7c3f00;background:#fff7ed;border-color:#dfc9b1}
.fl{font-size:11px;color:#a08060;margin-bottom:3px;display:block}
.fg{margin-bottom:9px}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
#pg-newreq .fr2,#pg-newreq .fr3{grid-template-columns:1fr!important}
#pg-newreq #nr-main-grid{grid-template-columns:minmax(0,1fr)!important}
#pg-newreq #nr-main-grid,
#pg-newreq #nr-main-grid>*,
#pg-newreq #nr-content,
#pg-newreq #nr-side-panel,
#pg-newreq #nr-content>.card{
  min-width:0!important;
  max-width:100%!important;
}
#pg-newreq #nr-content{overflow:visible!important;overflow-x:hidden!important}
#pg-newreq .sheet-full-scroll{max-height:68vh!important}
.nr-two-col{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px;align-items:start}
.nr-info-panel{background:#fffaf3;border:1px solid #efd7b8;border-radius:10px;padding:11px;min-height:100%}
.nr-info-title{font-size:12px;font-weight:650;color:#334155;margin-bottom:9px}
@media(max-width:860px){.nr-two-col{grid-template-columns:1fr!important}}
.employee-guide{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;margin-bottom:12px}
.employee-guide-main,.employee-guide-card,.employee-step-help{background:#fff;border:1px solid #ead8c2;border-radius:12px;padding:12px;box-shadow:0 10px 24px rgba(52,36,18,.04)}
.employee-guide-main{background:linear-gradient(135deg,#fff8ed 0%,#fff 62%);border-left:4px solid var(--br)}
.employee-guide-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;color:#b45309;margin-bottom:5px}
.employee-guide-title{font-size:16px;font-weight:800;color:#172033;margin-bottom:5px}
.employee-guide-copy{font-size:12px;color:#64748b;line-height:1.65}
.employee-guide-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.employee-mini-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.employee-mini-step{background:#fffaf3;border:1px solid #efd7b8;border-radius:9px;padding:8px}
.employee-mini-step strong{display:block;font-size:12px;color:#334155;margin-bottom:3px}
.employee-mini-step span{font-size:10px;color:#8b7358;line-height:1.45}
.employee-guide-card-title{font-size:12px;font-weight:750;color:#334155;margin-bottom:6px}
.employee-guide-list{display:flex;flex-direction:column;gap:6px}
.employee-guide-list div{font-size:11px;color:#64748b;line-height:1.55;background:#fffaf3;border:1px solid #f0e0c8;border-radius:8px;padding:7px 8px}
.employee-step-help{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;background:#fff8ed}
.employee-step-help .step-no{width:30px;height:30px;border-radius:10px;background:var(--br);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}
.employee-step-help .step-title{font-size:13px;font-weight:800;color:#172033;margin-bottom:3px}
.employee-step-help .step-copy{font-size:12px;color:#64748b;line-height:1.6}
.employee-step-help .step-next{font-size:11px;color:#8b7358;margin-top:5px}
.type-employee-note{margin-top:10px;font-size:13px;color:#6f5a43;line-height:1.55;background:#fffdf9;border:1.5px solid #efd7b8;border-radius:8px;padding:9px 12px;font-weight:650}
.employee-empty-state{text-align:center;padding:24px 12px;color:#64748b}
.employee-empty-state strong{display:block;font-size:13px;color:#334155;margin-bottom:4px}
.employee-empty-state span{display:block;font-size:11px;margin-bottom:10px}
@media(max-width:860px){.employee-guide{grid-template-columns:1fr}.employee-mini-steps{grid-template-columns:1fr}.employee-step-help{padding:10px}}
.org-editor-list{display:flex;flex-direction:column;min-width:1320px}
.org-editor-head,.org-editor-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(230px,1.15fr) minmax(105px,.55fr) minmax(230px,1.15fr) minmax(90px,.45fr) minmax(140px,.7fr) minmax(220px,1.05fr) minmax(120px,.65fr);gap:12px;align-items:center}
.org-editor-head{position:sticky;top:0;z-index:2;padding:10px 16px;background:#fff8ed;border-bottom:1px solid #ead8c2;color:#8b7358;font-size:11px;font-weight:800}
.org-editor-row{min-height:68px;padding:12px 16px;border-bottom:1px solid #f0e6d6;background:#fff;transition:background .15s,border-color .15s,box-shadow .15s}
.org-editor-row.warn{background:#fffafb}
.org-editor-row[draggable="true"],.org-chart-card[draggable="true"]{cursor:grab}
.org-editor-row.dragging,.org-chart-card.dragging{opacity:.55}
.org-editor-row.drag-target,.org-chart-card.drag-target,.org-root-drop-zone.drag-target{background:#fff7ed!important;border-color:#f28c18!important;box-shadow:inset 3px 0 0 #f28c18}
.org-editor-row.drag-invalid,.org-chart-card.drag-invalid,.org-root-drop-zone.drag-invalid{background:#fff1f2!important;border-color:#f3a6b1!important;box-shadow:inset 3px 0 0 #e11d48}
.org-editor-row:nth-child(even){background:#fffdf9}
.org-editor-row:hover{background:#fff8ed}
.org-chart-stage{padding:16px;overflow:auto;width:100%;min-height:380px;background:linear-gradient(180deg,#fffdf9 0%,#fff8ed 100%)}
.org-tree{display:flex;gap:18px;align-items:flex-start;min-width:max-content;padding:4px 4px 10px}
.org-tree-branch{display:flex;flex-direction:column;align-items:center;position:relative}
.org-tree-children{display:flex;gap:14px;align-items:flex-start;justify-content:center;position:relative;margin-top:18px;padding-top:18px}
.org-tree-children::before{content:'';position:absolute;top:0;left:50%;width:1px;height:18px;background:#dfc9b1}
.org-tree-child{position:relative;display:flex;flex-direction:column;align-items:center}
.org-tree-child::before{content:'';position:absolute;top:-18px;left:50%;width:1px;height:18px;background:#dfc9b1}
.org-tree-children .org-tree-child:not(:only-child)::after{content:'';position:absolute;top:-18px;height:1px;background:#dfc9b1;left:-7px;right:-7px}
.org-chart-card{width:238px;min-height:86px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;border:1px solid #ead8c2;background:#fff;border-radius:8px;padding:10px;box-shadow:0 8px 20px rgba(52,36,18,.045);transition:background .15s,border-color .15s,box-shadow .15s}
.org-chart-card:hover{border-color:var(--br);box-shadow:0 10px 26px rgba(52,36,18,.08)}
.org-chart-card.is-root{border-color:#f1b46c;background:#fffaf3}
.org-chart-card.warn{border-color:#f2b8bd;background:#fff7f8}
.org-chart-avatar{width:36px;height:36px;border-radius:8px;background:var(--br);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:950}
.org-chart-name{font-size:13px;font-weight:950;color:#263244;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.org-chart-meta{font-size:10px;color:#94a3b8;line-height:1.45;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.org-chart-badges{grid-column:1/-1;display:flex;gap:5px;flex-wrap:wrap;margin-top:1px}
.org-chart-badge{display:inline-flex;align-items:center;border:1px solid #ead8c2;background:#fffdf9;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:850;color:#7b5a36}
.org-chart-badge.ok{background:#e6f4d8;color:#2a6010;border-color:#c9e8b9}
.org-chart-badge.warn{background:#fff1f2;color:#9f1239;border-color:#f3a6b1}
.org-chart-empty{padding:34px;text-align:center;color:#94a3b8;font-size:12px}
.org-personnel-list-section{margin-top:12px;border-top:1px solid #ead8c2;border-bottom:1px solid #ead8c2;background:#fff}
.org-personnel-list-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:14px 16px 10px}
.org-personnel-list-title{font-size:14px;font-weight:900;color:#334155}
.org-personnel-list-subtitle{font-size:11px;color:#94a3b8;line-height:1.5;margin-top:3px}
.org-personnel-table-scroll{overflow-x:auto;border-top:1px solid #f0e6d6}
.org-supervisor-dashboard{display:grid;gap:9px;padding:0 16px 12px}
.org-supervisor-summary-line{display:flex;gap:8px 18px;align-items:center;flex-wrap:wrap;padding:8px 0;border-top:1px solid #f0e6d6;border-bottom:1px solid #f0e6d6;color:#64748b;font-size:11px}
.org-supervisor-summary-line span{white-space:nowrap}
.org-supervisor-summary-line strong{font-size:13px;color:#263244;font-variant-numeric:tabular-nums;margin-left:3px}
.org-supervisor-summary-line .warn,.org-supervisor-summary-line .warn strong{color:#9f1239}
.org-supervisor-summary-line .ok,.org-supervisor-summary-line .ok strong{color:#1a5010}
.org-supervisor-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.org-supervisor-toolbar-left{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0;flex:1}
.org-supervisor-toolbar-right{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:260px}
.org-supervisor-toolbar input{max-width:300px;min-width:220px}
.org-supervisor-toolbar select{width:auto;min-width:160px}
.org-drag-status{font-size:11px;font-weight:750;color:#8b7358;line-height:1.3;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.org-drag-status.ok{color:#1a5010;background:#f5fbef;border-color:#c9e8b9}
.org-drag-status.warn,.org-drag-status.error{color:#9f1239;background:#fff1f2;border-color:#f3a6b1}
.org-root-drop-zone{border:1px dashed #dfc9b1;background:#fffaf3;color:#7b5a36;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:850;line-height:1.3}
.org-supervisor-empty{border:1px dashed #e0d0b8;background:#fffdf9;border-radius:12px;padding:22px;text-align:center;color:#94a3b8;font-size:12px}
.org-person-name{font-size:13px;font-weight:800;color:#334155;line-height:1.35}
.org-person-email{font-size:11px;color:#94a3b8;line-height:1.35;overflow-wrap:anywhere;margin-top:2px}
.org-cell-label{display:none;font-size:10px;font-weight:800;color:#a08060;margin-bottom:4px}
.org-cell-main{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.org-dept-name{font-size:12px;color:#64748b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.org-supervisor-wrap select,.org-supervisor-wrap .combo-select{width:100%;min-width:0}
.org-list-check{display:flex;align-items:center;gap:5px;font-size:11px;color:#475569;margin:0 0 4px}
.org-list-check:last-child{margin-bottom:0}
.org-row-status-detail{font-size:10px;color:#94a3b8;line-height:1.4;margin-top:4px}
@media(max-width:980px){
  .org-chart-stage{padding:12px}
  .org-tree{flex-direction:column;min-width:0;width:100%;gap:12px}
  .org-tree-branch,.org-tree-child{align-items:stretch;width:100%}
  .org-tree-children{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px;padding-top:10px}
  .org-tree-children::before,.org-tree-child::before,.org-tree-children .org-tree-child:not(:only-child)::after{display:none}
  .org-chart-card{width:100%}
  .org-personnel-table-scroll{overflow:visible}
  .org-editor-list{min-width:0}
  .org-editor-head{display:none}
  .org-editor-row{grid-template-columns:1fr;gap:9px;align-items:stretch;padding:14px 16px}
  .org-cell-label{display:block}
  .org-cell-main{align-items:flex-start}
  .org-dept-name{white-space:normal}
  .org-supervisor-toolbar input,.org-supervisor-toolbar select{width:100%;max-width:none}
}
@media(max-width:620px){
  .org-supervisor-toolbar-right{min-width:0;width:100%;justify-content:flex-start}
  .org-drag-status{max-width:none;white-space:normal}
}
.si-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;flex-shrink:0;transition:all .2s}
.si-wait{background:var(--warm);color:#b09070;border:1px solid #e0d0b8}
.si-cur{background:var(--br);color:#fff}
.si-done{background:#2a9040;color:#fff}
.step-type{padding:10px;border-radius:10px;border:1.5px solid #e0d0b8;cursor:pointer;background:#fff;text-align:left;width:100%;transition:all .15s}
.step-type:hover,.step-type.on{border-color:var(--br);background:var(--brxxl)}
.step-opt{padding:8px 12px;border-radius:9px;border:1px solid #e0d0b8;cursor:pointer;background:#fff;text-align:left;width:100%;margin-bottom:5px;transition:all .15s}
.step-opt:hover,.step-opt.on{border-color:var(--br);background:var(--brxxl)}
/* 簽核流程預覽 */
.flow-wrap{padding:2px 0}
.flow-step{display:flex;align-items:flex-start;gap:10px;position:relative}
.flow-step:not(:last-child)::after{content:'';position:absolute;left:9px;top:22px;width:1px;bottom:-7px;background:#e0d0b8}
.flow-dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;flex-shrink:0;margin-top:2px;background:var(--warm);color:#b09070;border:1px solid #e0d0b8;position:relative;z-index:1}
.flow-dot.me{background:var(--br);color:#fff;border-color:var(--br)}
.flow-dot.done{background:#2a9040;color:#fff}
.flow-body{flex:1;padding:2px 0 9px}
.flow-label{font-size:12px;font-weight:500;color:#334155}
.flow-sub{font-size:11px;color:#94a3b8;margin-top:1px}
.flow-badge{display:inline-flex;padding:1px 6px;border-radius:99px;font-size:10px;font-weight:500;background:var(--brxxl);color:var(--brtxt);border:1px solid var(--brxl);margin-top:2px}
.workflow-builder{display:grid;grid-template-columns:250px minmax(0,1fr) 260px;gap:12px;padding:12px;background:#fffdf9}
.workflow-pane{border:1px solid #ead8c2;border-radius:12px;background:#fff;min-width:0;overflow:hidden}
.workflow-pane-head{padding:10px 12px;border-bottom:1px solid #f0e6d6;background:#fff8ed;display:flex;align-items:center;justify-content:space-between;gap:8px}
.workflow-pane-title{font-size:13px;font-weight:900;color:#334155}
.workflow-pane-sub{font-size:10px;color:#94a3b8;line-height:1.45;margin-top:2px}
.workflow-template-list{display:grid;gap:6px;padding:10px;max-height:620px;overflow:auto}
.workflow-template-item{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:9px 10px;text-align:left;cursor:pointer;transition:.12s}
.workflow-template-item:hover{border-color:var(--br);background:#fff7ed}
.workflow-template-item.on{border-color:var(--br);background:#fff3de;box-shadow:inset 3px 0 0 var(--br)}
.workflow-template-name{font-size:12px;font-weight:900;color:#334155;line-height:1.4}
.workflow-template-meta{font-size:10px;color:#94a3b8;line-height:1.45;margin-top:3px}
.workflow-form-card{border:1px solid #ead8c2;background:#fff;border-radius:12px;padding:10px;text-align:left;cursor:pointer;transition:.12s;display:grid;gap:6px}
.workflow-form-card:hover{border-color:var(--br);background:#fff7ed}
.workflow-form-card.on{border-color:var(--br);background:#fff3de;box-shadow:inset 4px 0 0 var(--br)}
.workflow-form-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.workflow-form-card-title{font-size:13px;font-weight:950;color:#334155;line-height:1.35}
.workflow-form-card-meta{font-size:10px;color:#94a3b8;line-height:1.5}
.workflow-form-card-stats{display:flex;gap:5px;flex-wrap:wrap}
.workflow-editor-hero{border:1px solid #ead8c2;background:#fffaf2;border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.workflow-editor-hero-title{font-size:18px;font-weight:950;color:#2f2418;line-height:1.3}
.workflow-editor-hero-sub{font-size:11px;color:#8b7358;line-height:1.6;margin-top:3px}
.workflow-route-tabs{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.workflow-route-tab{border:1px solid #ead8c2;background:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;color:#64748b;cursor:pointer}
.workflow-route-tab.on{background:var(--br);border-color:var(--br);color:#fff}
.workflow-route-panel{border:1px solid #ead8c2;background:#fffdf9;border-radius:12px;padding:10px;display:grid;gap:9px}
.workflow-route-condition{display:grid;grid-template-columns:minmax(0,1.1fr) 120px minmax(90px,.5fr) minmax(90px,.5fr) auto;gap:8px;align-items:end}
.workflow-route-badge{display:inline-flex;align-items:center;border:1px solid #efd7b8;border-radius:999px;background:#fff7ed;color:#7c3f00;padding:2px 7px;font-size:10px;font-weight:900}
.workflow-editor{display:grid;gap:12px;padding:12px}
.workflow-editor-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:10px}
.workflow-request-chips,.workflow-step-list,.workflow-library-list{display:flex;gap:6px;flex-wrap:wrap}
.workflow-chip{border:1px solid #ead8c2;background:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;color:#64748b;cursor:pointer}
.workflow-chip.on{background:#fff3de;border-color:var(--br);color:#7c3f00}
.workflow-step-list{display:grid;gap:8px}
.workflow-step-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #ead8c2;background:#fff;border-radius:11px;padding:9px;cursor:grab;transition:.12s}
.workflow-step-card:hover{border-color:var(--br);background:#fffaf2}
.workflow-step-card.drag-over{border-color:#0ea5a5;background:#ecfeff}
.workflow-step-card.selected{border-color:var(--br);background:#fff3de;box-shadow:0 0 0 2px rgba(217,119,6,.12)}
.workflow-step-num{width:30px;height:30px;border-radius:9px;background:#fff7ed;border:1px solid #efd7b8;color:#7c3f00;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:950}
.workflow-step-main{min-width:0}
.workflow-step-title{font-size:13px;font-weight:900;color:#334155;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workflow-step-desc{font-size:10px;color:#8b7358;line-height:1.45;margin-top:2px}
.workflow-step-actions{display:flex;gap:4px;align-items:center}
.workflow-step-actions button{font-size:10px;padding:3px 7px}
.workflow-library{padding:10px;display:grid;gap:8px;max-height:620px;overflow:auto}
.workflow-library-item{width:100%;text-align:left;border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:8px;cursor:grab;transition:.12s}
.workflow-library-item:hover{border-color:var(--br);background:#fff7ed}
.workflow-library-item strong{display:block;font-size:12px;color:#334155;margin-bottom:2px}
.workflow-library-item span{display:block;font-size:10px;color:#94a3b8;line-height:1.45}
.workflow-validation{display:grid;gap:6px}
.workflow-validation-row{border:1px solid #ead8c2;border-radius:9px;background:#fff;padding:8px;font-size:11px;line-height:1.5;color:#64748b}
.workflow-validation-row.fail{border-color:#f1a9b2;background:#fff1f2;color:#8a1010}
.workflow-validation-row.warn{border-color:#f3cc8c;background:#fff8ed;color:#7c3f00}
.workflow-validation-row.ok{border-color:#bfdfaa;background:#f5fbef;color:#1a5010}
.workflow-flow-gallery{padding:12px;border-top:1px solid #f0e6d6;background:#fff}
.workflow-flow-group{margin-bottom:14px}
.workflow-flow-group-title{font-size:13px;font-weight:950;color:#334155;margin-bottom:8px}
.workflow-flow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.workflow-flow-card{border:1px solid #ead8c2;border-radius:12px;background:#fffdf9;padding:10px;min-width:0}
.workflow-flow-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}
.workflow-flow-title strong{font-size:13px;color:#334155}
.workflow-flow-line{display:flex;gap:8px;align-items:flex-start;position:relative}
.workflow-flow-line:not(:last-child){padding-bottom:8px}
.workflow-flow-line:not(:last-child)::after{content:'';position:absolute;left:13px;top:28px;bottom:0;width:1px;background:#ead8c2}
.workflow-flow-dot{width:26px;height:26px;border-radius:8px;border:1px solid #ead8c2;background:#fff7ed;color:#7c3f00;font-size:11px;font-weight:950;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;flex-shrink:0}
.workflow-flow-line.current .workflow-flow-dot,.workflow-flow-dot.current{background:var(--br);border-color:var(--br);color:#fff}
.workflow-flow-body{min-width:0;padding-top:1px}
.workflow-flow-body b{display:block;font-size:12px;color:#334155;line-height:1.35}
.workflow-flow-body span{display:block;font-size:10px;color:#8b7358;line-height:1.45;margin-top:1px}
@media(max-width:980px){.workflow-builder{grid-template-columns:1fr}.workflow-editor-grid,.workflow-route-condition{grid-template-columns:1fr}.workflow-template-list,.workflow-library{max-height:none}}
.step-feedback{display:inline-block;margin-top:5px;padding:5px 8px;border:1.5px solid #d97706;border-radius:6px;background:#fff;color:#1f2937!important;font-size:11px;font-weight:650;line-height:1.55;box-shadow:0 1px 0 rgba(217,119,6,.08)}
/* 傳票 */
.voucher-card{border:1px solid #e0d0b8;border-radius:10px;background:#fff;padding:13px;margin-bottom:9px;cursor:pointer;transition:border-color .15s}
.voucher-card:hover{border-color:var(--br)}
.voucher-no{font-family:var(--font-sans);font-size:12px;font-weight:500;color:var(--brtxt)}
.entry-row{display:grid;grid-template-columns:80px 1fr 90px 90px;gap:6px;padding:5px 7px;border-radius:6px;font-size:11px;align-items:center}
.entry-row.hd{background:var(--warm);font-weight:500;color:#a08060}
.entry-row.dr-row{background:#f0fce8}
.entry-row.cr-row{background:#fef2f2;padding-left:24px}
.upload-zone{border:1.5px dashed #e0d0b8;border-radius:9px;padding:13px;text-align:center;cursor:pointer;transition:all .2s}
.upload-zone:hover,.upload-zone.drag{border-color:var(--br);background:var(--brxxl)}
.upload-zone.filled{border-color:#2a9040;background:#eaf8d8}
.file-chip{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #e0d0b8;border-radius:6px;padding:2px 7px;font-size:11px;margin:2px 3px;color:#334155}
.leave-guard-copy{font-size:13px;color:#334155;line-height:1.7}
.leave-guard-actions{padding:12px;border-top:1px solid #f0e0c8;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.leave-guard-actions .btn-p{box-shadow:0 10px 22px rgba(234,136,12,.24);font-weight:750}
.prog-wrap{height:5px;background:var(--warm);border-radius:99px;overflow:hidden;margin:5px 0}
.prog-fill{height:100%;border-radius:99px;background:var(--br);transition:width .12s}
.tb-bar{display:flex;border-bottom:1px solid #f0e6d6}
.tb{padding:7px 13px;font-size:12px;cursor:pointer;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;transition:all .15s}
.tb.on{border-bottom-color:var(--br);color:var(--brtxt);font-weight:500}
.rtab-bar{display:flex;border-bottom:1px solid #f0e6d6;margin-bottom:12px}
.rtab{padding:7px 14px;font-size:12px;cursor:pointer;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8}
.rtab.on{border-bottom-color:var(--br);color:var(--brtxt);font-weight:500}
.tl-item{display:flex;gap:10px;margin-bottom:9px}
.tl-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;flex-shrink:0}
.approval-flow-stack{display:grid;gap:8px}
.approval-return-card{border:1px solid #f3a6b1;background:#fff1f2;border-radius:8px;padding:9px;color:#7f1d1d;display:grid;gap:5px}
.approval-return-title{font-size:12px;font-weight:900;color:#9f1239;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.approval-return-title::before{content:'退';width:20px;height:20px;border-radius:7px;background:#fb7185;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:950}
.approval-return-meta{font-size:10px;color:#9f1239;line-height:1.55}
.approval-return-note{font-size:11px;line-height:1.6;color:#6a1b1b;background:#fff;border:1px solid #fecdd3;border-radius:7px;padding:6px}
.approval-timeline{display:grid;gap:6px}
.approval-step-row{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:8px;border:1px solid #ead8c2;background:var(--warm);border-radius:8px;min-width:0}
.approval-step-row:not(:last-child)::after{content:'';position:absolute;left:19px;top:34px;bottom:-7px;width:1px;background:#ead8c2}
.approval-step-row.done{background:#eaf8d8;border-color:#c9e8b9}
.approval-step-row.current{background:#fff7ed;border-color:var(--br);box-shadow:0 0 0 1px rgba(234,136,12,.12)}
.approval-step-row.rejected{background:#fde8e8;border-color:#f0b0b0}
.approval-step-row.paused{background:#fffaf2;border-color:#f0e0c8}
.approval-step-row.future{background:#fffdf9}
.approval-step-dot{width:24px;height:24px;border-radius:8px;background:#fff7ed;border:1px solid #e0d0b8;color:#a08060;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:950;position:relative;z-index:1}
.approval-step-row.done .approval-step-dot{background:#2a9040;border-color:#2a9040;color:#fff}
.approval-step-row.current .approval-step-dot{background:var(--br);border-color:var(--br);color:#fff}
.approval-step-row.rejected .approval-step-dot{background:#c02020;border-color:#c02020;color:#fff}
.approval-step-row.paused .approval-step-dot{background:#f8f0e4;color:#b09070}
.approval-step-body{min-width:0;padding-top:1px}
.approval-step-title{font-size:12px;font-weight:850;color:#334155;line-height:1.35;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.approval-step-row.done .approval-step-title{color:#1a5010}
.approval-step-row.current .approval-step-title{color:var(--brtxt)}
.approval-step-row.rejected .approval-step-title{color:#8a1010}
.approval-step-row.paused .approval-step-title{color:#8b7358}
.approval-step-meta{font-size:10px;color:#94a3b8;font-weight:500}
.approval-step-purpose{font-size:10px;color:#94a3b8;margin-top:2px;line-height:1.5}
.approval-step-row.paused .approval-step-purpose{color:#b09070}
.approval-step-badge{display:inline-flex;align-items:center;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:900;background:#fff;border:1px solid #ead8c2;color:#8b7358}
.approval-step-row.current .approval-step-badge{border-color:#f5c060;background:#fff3de;color:#7c3f00}
.approval-step-row.paused .approval-step-badge{border-color:#e0d0b8;background:#fff;color:#a08060}
.approval-step-row.done.auto .approval-step-badge{border-color:#bfdfaa;background:#f5fbef;color:#1a5010}
.approval-runtime-log{border:1px solid #e7dac8;background:#fffdf9;border-radius:8px;padding:8px;display:grid;gap:6px}
.approval-runtime-log-title{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:900;color:#6a5840;line-height:1.35}
.approval-runtime-log-title span{font-size:9px;font-weight:850;color:#94a3b8}
.approval-runtime-log-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:7px;border-top:1px solid #f3eadc;padding-top:6px;font-size:10px;line-height:1.45;color:#6a5840}
.approval-runtime-log-row:first-of-type{border-top:none;padding-top:0}
.approval-runtime-log-event{font-weight:900;color:#334155}
.approval-runtime-log-meta{color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.approval-runtime-log-empty{font-size:10px;color:#94a3b8;line-height:1.55}
.runtime-health-note{border:1px solid #ead8c2;background:#fffdf9;border-radius:10px;padding:8px 10px;margin-top:8px;display:flex;gap:8px;align-items:flex-start;justify-content:space-between;font-size:10px;line-height:1.55;color:#64748b}
.runtime-health-note b{font-size:11px;color:#263244;white-space:nowrap}
.runtime-health-note.ok{border-color:#bbf7d0;background:#f0fdf4}
.runtime-health-note.ok b{color:#1a5010}
.runtime-health-note.warn{border-color:#fed7aa;background:#fff7ed}
.runtime-health-note.warn b{color:#8a4b0f}
.bar-row{display:flex;align-items:center;gap:7px;margin-bottom:5px;cursor:default;border-radius:6px;transition:background .15s,padding .15s}
.bar-row:hover{background:#fef6ec;padding-left:4px;margin-left:-4px}
.bar-row:hover .bar-fill{filter:brightness(1.18);transform:scaleY(1.55)}
.bar-row:hover .bar-val{color:var(--brtxt);font-weight:600}
.bar-row:hover .bar-lbl{color:#1e293b;font-weight:500}
.bar-lbl{font-size:11px;color:#a08060;width:60px;text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:12px;background:var(--warm);border-radius:4px;overflow:hidden}
.bar-fill{height:100%;border-radius:4px;transition:filter .18s,transform .18s;transform-origin:left center}
.bar-val{font-size:11px;color:#475569;width:66px;text-align:right;flex-shrink:0;font-weight:500}
.bar-pct{font-size:10px;font-weight:500;color:var(--brtxt);background:var(--brxxl);border-radius:4px;padding:1px 4px;min-width:34px;text-align:center;flex-shrink:0}
/* 圓餅圖 legend hover */
#pie-legend>div{cursor:default;border-radius:5px;padding:2px 4px;margin-bottom:4px;transition:background .15s,transform .15s}
#pie-legend>div:hover{background:#fef6ec;transform:translateX(4px)}
/* Canvas 圓餅 hover */
#ldg-pie{border-radius:8px;transition:background .15s;cursor:default}
#ldg-pie:hover{background:#fef6ec}
#ldg-pie canvas{transition:transform .2s,filter .2s}
#ldg-pie:hover canvas{transform:scale(1.06);filter:drop-shadow(0 3px 8px rgba(234,136,12,.22))}
/* 統計數字卡 hover */
.sc{transition:transform .15s,box-shadow .15s;cursor:default}
.sc:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(234,136,12,.14)}
.notif-row{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;border-bottom:1px solid #f5ede0;cursor:pointer;transition:background .12s}
.notif-row:hover,.notif-row.unread{background:var(--brxxl)}
.user-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid #f5ede0;transition:background .12s}
.user-row:hover{background:var(--brxxl)}
.appr-card{padding:10px;border-radius:10px;border:1px solid #eedfc8;background:#fff;cursor:pointer;margin-bottom:5px;transition:all .12s}
.appr-card:hover{border-color:var(--br)}
.appr-card.selected{border-color:var(--br)!important;background:#fff3de!important;box-shadow:0 0 0 2px rgba(217,119,6,.16)}
.appr-card.bulk-selected{border-color:#d97706!important;background:#fff7ed!important}
.approval-table{min-width:980px}
.finance-list-table{min-width:980px;width:100%;border-collapse:collapse}
.finance-list-table th{white-space:nowrap;text-align:center!important;vertical-align:middle!important}
.finance-list-table td{vertical-align:middle!important;text-align:center!important}
.finance-list-table th,.finance-list-table td{padding:12px 14px}
.finance-list-table .summary-cell{max-width:360px;margin:0 auto;white-space:normal;line-height:1.45;text-align:center!important;word-break:break-word}
.finance-list-table .mono-sub{font-family:var(--font-sans);font-size:10px;color:#94a3b8;margin-top:4px}
.finance-list-table .date-cell{white-space:nowrap;font-size:11px;color:#334155}
.ledger-investor-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.ledger-investor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.ledger-investor-card{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:12px;min-height:88px}
.ledger-investor-label{font-size:11px;font-weight:800;color:#8b7358;margin-bottom:5px}
.ledger-investor-value{font-size:21px;font-weight:950;color:#172033;line-height:1.1;font-variant-numeric:tabular-nums}
.ledger-investor-sub{font-size:10px;color:#94a3b8;margin-top:6px;line-height:1.45}
.ledger-investor-health{border:1px solid #ead8c2;border-radius:12px;background:#fffdf9;margin-bottom:12px;overflow:hidden}
.ledger-health-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px;border-bottom:1px solid #f0e6d6;background:#fff8ed}
.ledger-health-title{font-size:13px;font-weight:950;color:#263244}
.ledger-health-sub{font-size:11px;color:#8b7358;line-height:1.55;margin-top:2px}
.ledger-health-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);gap:12px;padding:12px}
.ledger-verdict{border:1px solid #ead8c2;border-radius:10px;background:#fff;padding:12px}
.ledger-verdict.ok{border-color:#bbf7d0;background:#f0fdf4}
.ledger-verdict.warn{border-color:#fed7aa;background:#fff7ed}
.ledger-verdict.bad{border-color:#fecaca;background:#fff1f2}
.ledger-verdict-title{font-size:14px;font-weight:950;color:#263244;margin-bottom:5px}
.ledger-verdict-body{font-size:12px;color:#64748b;line-height:1.65}
.ledger-risk-list{display:flex;flex-direction:column;gap:7px}
.ledger-risk-row{border:1px solid #ead8c2;background:#fff;border-radius:9px;padding:8px 9px;font-size:11px;line-height:1.5;color:#64748b}
.ledger-risk-row.warn{border-color:#fed7aa;background:#fff7ed;color:#7c3f00}
.ledger-risk-row.bad{border-color:#fecaca;background:#fff1f2;color:#8a1010}
.ledger-risk-title{font-weight:900;color:#263244;margin-bottom:2px}
.ledger-viz-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px;margin-bottom:12px}
.ledger-dept-story{border:1px solid #ead8c2;border-radius:12px;background:linear-gradient(180deg,#fffdf9,#fff8ef);padding:13px;margin-bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.ledger-dept-story-title{font-size:15px;font-weight:950;color:#263244;line-height:1.35}
.ledger-dept-story-body{font-size:12px;color:#64748b;line-height:1.7;margin-top:4px}
.ledger-dept-story-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ledger-dept-tag{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #ead8c2;background:#fff;padding:4px 8px;font-size:10px;font-weight:850;color:#8b7358}
.ledger-dept-tag.good{background:#f0fdf4;border-color:#bbf7d0;color:#1a5010}
.ledger-dept-tag.bad{background:#fff1f2;border-color:#fecaca;color:#8a1010}
.ledger-chart-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px;margin-bottom:12px}
.ledger-chart-card{border:1px solid #ead8c2;background:#fff;border-radius:12px;overflow:hidden}
.ledger-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;border-bottom:1px solid #f0e6d6;background:#fff8ed}
.ledger-chart-title{font-size:13px;font-weight:950;color:#263244}
.ledger-chart-sub{font-size:10px;color:#8b7358;line-height:1.5;margin-top:2px}
.ledger-chart-body{padding:12px}
.ledger-chart-note{border-top:1px solid #f0e6d6;background:#fffdf9;color:#64748b;font-size:11px;line-height:1.6;padding:9px 12px}
.ledger-chart-tabs{display:flex;border:1px solid #e0d0b8;border-radius:8px;overflow:hidden;flex-shrink:0}
.ledger-chart-tabs button{padding:4px 10px;font-size:11px;background:#fff;color:#94a3b8;border:none;cursor:pointer;border-left:1px solid #e0d0b8}
.ledger-chart-tabs button:first-child{border-left:none}
.ledger-chart-tabs button.on{background:var(--br);color:#fff;font-weight:800}
.ledger-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ledger-pie-panel{border:1px solid #f0e0c8;background:#fffdf9;border-radius:10px;padding:10px;min-width:0}
.ledger-pie-title{font-size:12px;font-weight:950;color:#263244;margin-bottom:8px}
.ledger-pie-layout{display:flex;gap:10px;align-items:center;min-height:122px}
.ledger-pie-layout canvas{flex:0 0 auto}
.ledger-pie-legend{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.ledger-legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:6px;align-items:center;font-size:10px;color:#64748b}
.ledger-legend-dot{width:9px;height:9px;border-radius:3px;display:inline-block}
.ledger-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ledger-legend-value{font-variant-numeric:tabular-nums;color:#263244;font-weight:850;white-space:nowrap}
.ledger-dept-bars{display:flex;flex-direction:column;gap:8px}
.ledger-dept-bar-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.6fr) auto;gap:9px;align-items:center;font-size:11px;color:#475569}
.ledger-dept-bar-name{font-weight:850;color:#263244;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ledger-dept-bar-track{height:10px;background:#f0e6d6;border-radius:99px;overflow:hidden;display:flex}
.ledger-dept-bar-income{height:100%;background:#2a9040}
.ledger-dept-bar-expense{height:100%;background:#ea880c}
.ledger-dept-bar-amount{text-align:right;font-weight:950;font-variant-numeric:tabular-nums;color:#263244;white-space:nowrap}
.ledger-rank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.ledger-rank-list{display:flex;flex-direction:column;gap:7px;padding:12px}
.ledger-rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;font-size:11px;color:#475569}
.ledger-rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ledger-rank-amount{font-weight:900;color:#263244;font-variant-numeric:tabular-nums}
.ledger-rank-bar{grid-column:1/-1;height:6px;background:#f0e6d6;border-radius:99px;overflow:hidden;margin-top:-2px}
.ledger-rank-fill{height:100%;border-radius:99px;background:var(--br)}
.ledger-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px}
.ledger-source-card{border:1px solid #ead8c2;background:#fff;border-radius:9px;padding:9px}
.ledger-source-card strong{display:block;font-size:16px;color:#172033;margin-bottom:4px;font-variant-numeric:tabular-nums}
.ledger-source-card span{display:block;font-size:10px;color:#94a3b8;line-height:1.45}
.ledger-investor-table{min-width:1180px}
.ledger-investor-table th,.ledger-investor-table td{text-align:left!important;vertical-align:top!important}
.ledger-plain{font-size:12px;font-weight:750;color:#263244;line-height:1.45}
.ledger-plain-sub{font-size:10px;color:#94a3b8;line-height:1.5;margin-top:3px}
.ledger-money{font-size:13px;font-weight:950;font-variant-numeric:tabular-nums;white-space:nowrap}
.ledger-money.in{color:#1a5010}.ledger-money.out{color:#8a1010}.ledger-money.neutral{color:#334155}
.ledger-risk-tags{display:flex;gap:4px;flex-wrap:wrap}
.ledger-risk-tag{display:inline-flex;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:850;background:#f0ece6;color:#6a5840}
.ledger-risk-tag.warn{background:#fff0d8;color:#8a4b00}.ledger-risk-tag.bad{background:#fde0e0;color:#8a1010}.ledger-risk-tag.ok{background:#e6f4d8;color:#1a5010}
.ledger-action-row{display:flex;gap:4px;flex-wrap:wrap}
.accounting-control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.accounting-control-card{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:12px;min-height:104px;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}
.accounting-control-card:hover{border-color:var(--br);box-shadow:0 4px 14px rgba(234,136,12,.12);transform:translateY(-1px)}
.accounting-control-card.warn{border-color:#fed7aa;background:#fff7ed}
.accounting-control-card.bad{border-color:#fecaca;background:#fff1f2}
.accounting-control-card.ok{border-color:#bbf7d0;background:#f0fdf4}
.accounting-control-label{font-size:11px;font-weight:900;color:#8b7358;margin-bottom:6px}
.accounting-control-value{font-size:24px;font-weight:950;color:#172033;line-height:1.05;font-variant-numeric:tabular-nums}
.accounting-control-sub{font-size:10px;color:#64748b;line-height:1.55;margin-top:7px}
.accounting-control-panel{border:1px solid #ead8c2;background:#fffdf9;border-radius:12px;margin-bottom:12px;overflow:hidden}
.accounting-control-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px;border-bottom:1px solid #f0e6d6;background:#fff8ed}
.accounting-control-title{font-size:14px;font-weight:950;color:#263244}
.accounting-control-note{font-size:11px;color:#8b7358;line-height:1.55;margin-top:3px}
.accounting-control-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.accounting-control-body{padding:12px}
.accounting-priority-strip{border:1px solid #f0d4aa;background:linear-gradient(135deg,#fff8ed,#fffdf9);border-radius:12px;padding:12px;margin-bottom:12px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:12px;align-items:stretch}
.accounting-priority-main{display:flex;flex-direction:column;gap:9px}
.accounting-priority-title{font-size:15px;font-weight:950;color:#263244;line-height:1.35}
.accounting-priority-sub{font-size:11px;color:#8b7358;line-height:1.6}
.accounting-priority-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.accounting-priority-metric{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:9px;min-width:0}
.accounting-priority-label{font-size:10px;font-weight:850;color:#8b7358;margin-bottom:4px}
.accounting-priority-value{font-size:16px;font-weight:950;color:#172033;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.accounting-priority-list{display:flex;flex-direction:column;gap:6px}
.accounting-priority-item{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.accounting-priority-item:hover{border-color:var(--br);box-shadow:0 4px 12px rgba(234,136,12,.12)}
.accounting-priority-item.ok{cursor:default}
.accounting-priority-rank{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:950;background:#fff0d8;color:#8a4b00}
.accounting-priority-item.bad .accounting-priority-rank{background:#fde0e0;color:#8a1010}
.accounting-priority-item.ok .accounting-priority-rank{background:#e6f4d8;color:#1a5010}
.accounting-priority-name{font-size:12px;font-weight:900;color:#263244;line-height:1.35;overflow:hidden;text-overflow:ellipsis}
.accounting-priority-next{font-size:10px;color:#64748b;line-height:1.45;margin-top:2px}
.accounting-priority-count{font-size:12px;font-weight:950;color:#172033;white-space:nowrap}
.accounting-exception-worklist{border:1px solid #ead8c2;background:#fff;border-radius:12px;padding:12px;margin-bottom:12px}
.accounting-exception-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:9px}
.accounting-exception-title{font-size:14px;font-weight:950;color:#263244}
.accounting-exception-sub{font-size:11px;color:#8b7358;line-height:1.55;margin-top:3px}
.accounting-exception-total{display:inline-flex;align-items:center;border-radius:999px;background:#fff0d8;color:#8a4b00;padding:4px 9px;font-size:11px;font-weight:950;white-space:nowrap}
.accounting-exception-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.accounting-exception-item{border:1px solid #ead8c2;background:#fffdf9;border-radius:10px;padding:9px;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.accounting-exception-item:hover{border-color:var(--br);box-shadow:0 4px 12px rgba(234,136,12,.12)}
.accounting-exception-item.bad{border-color:#fecaca;background:#fff1f2}
.accounting-exception-item.warn{border-color:#fed7aa;background:#fff7ed}
.accounting-exception-item.ok{border-color:#bbf7d0;background:#f0fdf4;cursor:default}
.accounting-exception-line{display:flex;justify-content:space-between;gap:8px;align-items:center}
.accounting-exception-name{font-size:12px;font-weight:950;color:#263244;line-height:1.35}
.accounting-exception-count{font-size:13px;font-weight:950;color:#172033;font-variant-numeric:tabular-nums;white-space:nowrap}
.accounting-exception-desc{font-size:10px;color:#64748b;line-height:1.45;margin-top:4px}
.accounting-queue-panel{border:1px solid #ead8c2;background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden}
.accounting-queue-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px;border-bottom:1px solid #f0e6d6;background:#fff8ed}
.accounting-queue-title{font-size:14px;font-weight:950;color:#263244}
.accounting-queue-sub{font-size:11px;color:#8b7358;line-height:1.55;margin-top:3px}
.accounting-queue-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fde0e0;color:#8a1010;padding:4px 9px;font-size:11px;font-weight:950;white-space:nowrap}
.accounting-queue-body{padding:0}
.accounting-queue-table{min-width:1060px}
.accounting-queue-table th,.accounting-queue-table td{text-align:left!important;vertical-align:top!important}
.accounting-queue-table .money{text-align:right!important;font-family:var(--font-sans);font-weight:950;color:#172033;white-space:nowrap}
.accounting-queue-type{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;background:#fff0d8;color:#8a4b00;white-space:nowrap}
.accounting-queue-type.bad{background:#fde0e0;color:#8a1010}
.accounting-queue-source{font-size:12px;font-weight:950;color:#263244;line-height:1.45}
.accounting-queue-desc{font-size:10px;color:#64748b;line-height:1.5;margin-top:2px}
.accounting-control-table{min-width:980px}
.accounting-control-table th,.accounting-control-table td{text-align:left!important;vertical-align:top!important}
.accounting-control-table .money{text-align:right!important;font-family:var(--font-sans);font-weight:900;color:#172033;white-space:nowrap}
.accounting-control-row-title{font-size:12px;font-weight:900;color:#263244;line-height:1.45}
.accounting-control-row-sub{font-size:10px;color:#94a3b8;line-height:1.5;margin-top:2px}
.accounting-control-card-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.accounting-control-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:850;background:#f0ece6;color:#6a5840}
.accounting-control-chip.high{background:#fde0e0;color:#8a1010}
.accounting-control-chip.medium{background:#fff0d8;color:#8a4b00}
.accounting-control-chip.low{background:#e6f4d8;color:#1a5010}
.accounting-control-priority{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;white-space:nowrap}
.accounting-control-priority.high{background:#fde0e0;color:#8a1010}
.accounting-control-priority.medium{background:#fff0d8;color:#8a4b00}
.accounting-control-priority.low{background:#e6f4d8;color:#1a5010}
.accounting-control-empty{border:1.5px dashed #e0d0b8;border-radius:10px;background:#fff;padding:24px;text-align:center;color:#94a3b8;font-size:12px}
@media(max-width:1100px){
  .accounting-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accounting-priority-strip{grid-template-columns:1fr}
  .accounting-exception-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accounting-priority-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ledger-chart-grid,.ledger-health-body,.ledger-rank-grid{grid-template-columns:1fr}
  .ledger-dept-story{grid-template-columns:1fr}
  .ledger-dept-story-tags{justify-content:flex-start}
}
@media(max-width:760px){
  .accounting-control-grid{grid-template-columns:1fr}
  .accounting-exception-list{grid-template-columns:1fr}
  .accounting-priority-metrics{grid-template-columns:1fr}
  .accounting-priority-item{grid-template-columns:auto minmax(0,1fr)}
  .accounting-priority-count{grid-column:2}
  .ledger-investor-summary,.ledger-source-grid,.ledger-mini-grid,.ledger-rank-grid{grid-template-columns:1fr}
  .ledger-dept-bar-row{grid-template-columns:1fr}
}
.statement-investor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.statement-investor-card{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:12px;min-height:92px}
.statement-investor-label{font-size:11px;font-weight:800;color:#8b7358;margin-bottom:5px}
.statement-investor-value{font-size:21px;font-weight:950;color:#172033;line-height:1.1;font-variant-numeric:tabular-nums}
.statement-investor-sub{font-size:10px;color:#94a3b8;margin-top:6px;line-height:1.45}
.statement-investor-health{border:1px solid #ead8c2;border-radius:12px;background:#fffdf9;margin-bottom:12px;overflow:hidden}
.statement-health-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px;border-bottom:1px solid #f0e6d6;background:#fff8ed}
.statement-health-title{font-size:13px;font-weight:950;color:#263244}
.statement-health-sub{font-size:11px;color:#8b7358;line-height:1.55;margin-top:2px}
.statement-health-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);gap:12px;padding:12px}
.statement-verdict{border:1px solid #ead8c2;border-radius:10px;background:#fff;padding:12px}
.statement-verdict.ok{border-color:#bbf7d0;background:#f0fdf4}
.statement-verdict.warn{border-color:#fed7aa;background:#fff7ed}
.statement-verdict.bad{border-color:#fecaca;background:#fff1f2}
.statement-verdict-title{font-size:14px;font-weight:950;color:#263244;margin-bottom:5px}
.statement-verdict-body{font-size:12px;color:#64748b;line-height:1.7}
.statement-risk-list{display:flex;flex-direction:column;gap:7px}
.statement-risk-row{border:1px solid #ead8c2;background:#fff;border-radius:9px;padding:8px 9px;font-size:11px;line-height:1.5;color:#64748b}
.statement-risk-row.warn{border-color:#fed7aa;background:#fff7ed;color:#7c3f00}
.statement-risk-row.bad{border-color:#fecaca;background:#fff1f2;color:#8a1010}
.statement-risk-title{font-weight:900;color:#263244;margin-bottom:2px}
.statement-viz-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px;margin-bottom:12px}
.statement-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px}
.statement-flow-node{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:10px;min-width:0;position:relative}
.statement-flow-node:after{content:"";position:absolute;right:-9px;top:50%;width:10px;height:2px;background:#ead8c2}
.statement-flow-node:last-child:after{display:none}
.statement-flow-node strong{display:block;font-size:12px;color:#263244;margin-bottom:4px}
.statement-flow-node span{display:block;font-size:10px;color:#64748b;line-height:1.45}
.statement-money-map{display:flex;flex-direction:column;gap:7px;padding:12px}
.statement-money-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #ead8c2;border-radius:9px;background:#fff;padding:8px 9px;font-size:11px;color:#64748b}
.statement-money-row.warn{border-color:#fed7aa;background:#fff7ed}.statement-money-row.bad{border-color:#fecaca;background:#fff1f2}
.statement-money-name{font-weight:900;color:#263244;line-height:1.4}
.statement-money-amount{font-weight:950;color:#172033;font-variant-numeric:tabular-nums;white-space:nowrap}
.statement-rank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.statement-rank-list{display:flex;flex-direction:column;gap:7px;padding:12px}
.statement-rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;font-size:11px;color:#475569}
.statement-rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.statement-rank-amount{font-weight:900;color:#263244;font-variant-numeric:tabular-nums}
.statement-rank-bar{grid-column:1/-1;height:6px;background:#f0e6d6;border-radius:99px;overflow:hidden;margin-top:-2px}
.statement-rank-fill{height:100%;border-radius:99px;background:var(--br)}
.statement-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px}
.statement-action-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.statement-chart-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.72fr);gap:12px;margin-bottom:12px}
.statement-chart-card{border:1px solid #ead8c2;background:#fff;border-radius:12px;overflow:hidden;min-width:0}
.statement-chart-body{padding:12px}
.statement-chart-note{font-size:11px;color:#64748b;line-height:1.65;margin-top:9px;border-top:1px solid #f0e6d6;padding-top:8px}
.statement-pie-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:center}
.statement-pie-canvas{width:180px;height:180px;max-width:100%}
.statement-chart-legend{display:flex;flex-direction:column;gap:7px}
.statement-legend-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:11px;color:#475569}
.statement-legend-dot{width:12px;height:12px;border-radius:4px}
.statement-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;color:#263244}
.statement-legend-value{font-weight:950;color:#172033;font-variant-numeric:tabular-nums;white-space:nowrap}
.statement-diagnostics{margin-top:12px;padding-top:2px}
.statement-diagnostics-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.statement-diagnostics-title{font-size:14px;font-weight:950;color:#263244}
.statement-diagnostics-sub{font-size:11px;color:#8b7358;line-height:1.6;margin-top:3px}
.statement-diagnostics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.statement-diagnostic-chip{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:10px;min-height:76px}
.statement-diagnostic-chip.ok{border-color:#bbf7d0;background:#f0fdf4}
.statement-diagnostic-chip.warn{border-color:#fed7aa;background:#fff7ed}
.statement-diagnostic-chip.bad{border-color:#fecaca;background:#fff1f2}
.statement-diagnostic-label{font-size:10px;font-weight:850;color:#8b7358;margin-bottom:4px}
.statement-diagnostic-value{font-size:16px;font-weight:950;color:#172033;font-variant-numeric:tabular-nums}
.statement-diagnostic-sub{font-size:10px;color:#64748b;line-height:1.45;margin-top:5px}
.statement-detail-panel{border:1px solid #ead8c2;background:#fffdf9;border-radius:12px;margin-bottom:10px;overflow:hidden}
.statement-detail-panel summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:12px;font-weight:950;color:#263244;display:flex;justify-content:space-between;gap:12px;align-items:center}
.statement-detail-panel summary::-webkit-details-marker{display:none}
.statement-detail-panel summary:after{content:"展開";font-size:10px;color:#8b7358;background:#fff7ed;border:1px solid #f0d090;border-radius:999px;padding:3px 8px;white-space:nowrap}
.statement-detail-panel[open] summary:after{content:"收合"}
.statement-detail-body{padding:0 12px 12px}
@media(max-width:980px){.ledger-investor-summary,.statement-investor-summary,.statement-diagnostics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-health-body,.ledger-viz-grid,.ledger-rank-grid,.statement-health-body,.statement-viz-grid,.statement-rank-grid,.statement-chart-grid{grid-template-columns:1fr}.ledger-source-grid,.statement-source-grid,.statement-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.statement-flow-node:after{display:none}}
@media(max-width:620px){.ledger-investor-summary,.ledger-source-grid,.statement-investor-summary,.statement-source-grid,.statement-flow,.statement-diagnostics-summary{grid-template-columns:1fr}.ledger-investor-toolbar input{width:100%!important}.statement-pie-layout{grid-template-columns:1fr}.statement-pie-canvas{margin:auto}}
.account-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.account-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.account-summary-card{border:1px solid #ead8c2;background:#fff;border-radius:10px;padding:12px;min-height:86px}
.account-summary-label{font-size:11px;font-weight:750;color:#8b7358;margin-bottom:5px}
.account-summary-value{font-size:22px;font-weight:900;color:#172033;line-height:1.1}
.account-summary-sub{font-size:10px;color:#94a3b8;margin-top:6px;line-height:1.45}
.account-layout{display:block;margin-bottom:12px}
.account-map-card{overflow:hidden}
.account-system-panel{margin-bottom:12px;overflow:hidden}
.account-system-summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px;border-bottom:1px solid #f0e6d6;background:#fff8ed}
.account-system-summary::-webkit-details-marker{display:none}
.account-system-heading{display:flex;flex-direction:column;gap:2px;min-width:0}
.account-system-title{font-size:15px;font-weight:950;color:#263244;line-height:1.35}
.account-system-sub{font-size:10px;color:#94a3b8;line-height:1.45}
.account-system-action{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid #ead8c2;border-radius:999px;padding:4px 9px;background:#fff;color:#8a4b00;font-size:10px;font-weight:850}
.account-system-action:after{content:'收合'}
.account-system-panel:not([open]) .account-system-action:after{content:'展開'}
.account-class-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid #f0e6d6;background:#fffdf9}
.account-class-btn{border:1px solid #ead8c2;background:#fff;color:#6f5a43;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .12s}
.account-class-btn:hover,.account-class-btn.on{border-color:var(--br);background:#fff7ed;color:#7c3f00}
.account-class-count{font-size:10px;color:#8ca0b8;background:#f5efe7;border-radius:999px;padding:1px 6px}
.account-map{display:block;padding:0}
.account-list{display:flex;flex-direction:column}
.account-list-section{border-top:1px solid #f0e6d6;background:#fff}
.account-list-section:first-child{border-top:0}
.account-list-head{display:grid;grid-template-columns:76px minmax(110px,.55fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;background:#fffdf9}
.account-list-index{font-size:12px;font-weight:950;color:#7c3f00;font-variant-numeric:tabular-nums}
.account-list-title{font-size:13px;font-weight:950;color:#263244;line-height:1.35}
.account-list-desc{font-size:11px;color:#64748b;line-height:1.55}
.account-list-meta{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.account-list-rows{display:flex;flex-direction:column}
.account-list-row{display:grid;grid-template-columns:86px minmax(240px,1.35fr) 78px minmax(110px,.55fr) minmax(240px,1.25fr) 72px;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid #f4eadc;font-size:11px;color:#334155;background:#fff}
.account-list-row:hover{background:#fffaf3}
.account-list-code{font-size:12px;font-weight:950;color:#7c3f00;font-variant-numeric:tabular-nums}
.account-list-name{font-size:12px;font-weight:850;color:#263244;line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-list-group{font-size:10px;color:#8b7358;line-height:1.4}
.account-list-scope{font-size:10px;color:#94a3b8;line-height:1.4}
.account-list-usage{display:flex;flex-direction:column;gap:2px;min-width:0}
.account-list-usage-main{font-size:11px;font-weight:850;color:#263244;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-list-usage-sub{font-size:10px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-list-empty{padding:12px;color:#94a3b8;font-size:11px;border-top:1px solid #f4eadc}
.account-list-more{padding:8px 12px;border-top:1px solid #f4eadc;font-size:10px;color:#94a3b8;background:#fffdf9}
.account-insights{padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:#fff}
.account-insight{border:1px solid #ead8c2;border-radius:10px;padding:10px;background:#fffdf9;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start}
.account-insight.warn{border-color:#fecaca;background:#fff1f2}
.account-insight.ok{border-color:#bbf7d0;background:#f0fdf4}
.account-insight-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:950;white-space:nowrap}
.account-insight.ok .account-insight-status{background:#dff6ce;color:#1a5010}
.account-insight.warn .account-insight-status{background:#fde0e0;color:#8a1010}
.account-insight-title{font-size:12px;font-weight:900;color:#263244;margin-bottom:4px;line-height:1.35}
.account-insight-body{font-size:11px;color:#64748b;line-height:1.55}
.account-dept-panel{margin-bottom:12px;padding:12px}
.account-dept-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.account-table-code{font-size:12px;font-weight:900;color:var(--brtxt);font-variant-numeric:tabular-nums}
.account-table-class{display:flex;flex-direction:column;gap:2px}
.account-table-class strong{font-size:12px;color:#263244}
.account-table-class span{font-size:10px;color:#94a3b8}
@media(max-width:1280px){.account-insights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-dept-grid{grid-template-columns:1fr}.account-list-head{grid-template-columns:70px minmax(0,1fr)}.account-list-desc,.account-list-meta{grid-column:2}.account-list-meta{justify-content:flex-start}.account-list-row{grid-template-columns:76px minmax(0,1fr) 72px}.account-list-group,.account-list-scope,.account-list-usage{grid-column:2}}
@media(max-width:620px){.account-summary-grid,.account-insights{grid-template-columns:1fr}.account-toolbar input{width:100%!important}.account-list-head{grid-template-columns:1fr}.account-list-index,.account-list-desc,.account-list-meta{grid-column:1}.account-list-row{grid-template-columns:1fr}.account-list-name,.account-list-group,.account-list-scope,.account-list-usage{white-space:normal;grid-column:1}.account-list-usage-main,.account-list-usage-sub{white-space:normal}}
.approval-table tbody tr{cursor:pointer;transition:background .12s,box-shadow .12s}
.approval-table tbody tr:hover{background:#fffaf2}
.approval-table tbody tr.selected{background:#fff3de!important;box-shadow:inset 4px 0 0 var(--br)}
.approval-table tbody tr.bulk-selected{background:#fff7ed!important}
.finance-list-table tbody tr.row-rejected,.approval-table tbody tr.row-rejected{background:#fff1f2!important}
.finance-list-table tbody tr.row-rejected td,.approval-table tbody tr.row-rejected td,.approval-table tbody tr.row-rejected.bulk-selected td{background:#fff1f2!important}
.finance-list-table tbody tr.row-rejected:hover td,.approval-table tbody tr.row-rejected:hover td{background:#ffe4e6!important}
.approval-table tbody tr.row-rejected.selected{box-shadow:inset 4px 0 0 #c02020}
.approval-table.compact th,.approval-table.compact td{height:56px;padding:6px 10px;vertical-align:middle!important}
.approval-table.compact{table-layout:fixed}
.approval-table.compact tbody tr{min-height:56px}
.approval-table.compact .summary-cell{max-height:36px;overflow:hidden;line-height:1.45}
.approval-table .sort-th{cursor:pointer;user-select:none}
.approval-table .sort-th:hover{color:var(--brtxt)}
.approval-table .sort-mark{display:inline-block;margin-left:4px;color:#b08a5e;font-size:10px;vertical-align:middle}
.approval-table .sort-th:not(.active) .sort-mark{opacity:.55}
.approval-table.compact th{white-space:nowrap}
.approval-table.compact th.appr-col-formNo,.approval-table.compact th.appr-col-purpose{white-space:normal}
.approval-table.compact .appr-col-select{width:52px}
.approval-table.compact .appr-col-formNo{width:150px}
.approval-table.compact .appr-col-dept{width:150px}
.approval-table.compact .appr-col-applicant{width:96px}
.approval-table.compact .appr-col-purpose{width:auto}
.approval-table.compact .appr-col-amount{width:116px}
.approval-table.compact .appr-col-applyDate{width:92px}
.approval-table.compact .appr-col-payDate{width:104px}
.approval-table.compact .appr-col-waitTime{width:112px}
.approval-table.compact td.appr-col-dept,.approval-table.compact td.appr-col-applicant,.approval-table.compact td.appr-col-amount,.approval-table.compact td.appr-col-applyDate,.approval-table.compact td.appr-col-payDate,.approval-table.compact td.appr-col-waitTime{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.approval-wait-time{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:12px;font-weight:850;color:#7c3f00;font-variant-numeric:tabular-nums}
.approval-policy-shell{padding:14px 12px;border-bottom:1px solid #f0e0c8;background:#fffdf9}
.approval-policy-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.approval-policy-title{font-size:14px;font-weight:900;color:#2f2418}
.approval-policy-sub{font-size:11px;color:#64748b;line-height:1.6;margin-top:3px}
.approval-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.approval-policy-role{border:1px solid #ead8c2;border-radius:8px;background:#fff;padding:11px;min-width:0}
.approval-policy-role-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:10px}
.approval-policy-role-head strong{display:block;font-size:13px;color:#334155}
.approval-policy-role-head span:not(.badge){display:block;font-size:10px;color:#8b7358;margin-top:2px}
.approval-policy-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.approval-policy-inputs label>span{display:block;font-size:10px;font-weight:750;color:#6a5840;margin-bottom:4px}
.approval-policy-money{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;border:1px solid #e0d0b8;border-radius:7px;overflow:hidden;background:#fff}
.approval-policy-money>span{font-size:10px;font-weight:800;color:#8b7358;text-align:center;border-right:1px solid #e0d0b8;background:#fff8ed;align-self:stretch;display:flex;align-items:center;justify-content:center}
.approval-policy-money input{border:0!important;border-radius:0!important;min-width:0;width:100%;box-shadow:none!important}
.approval-policy-note{font-size:10px;color:#6a5840;line-height:1.65;margin-top:9px}
@media(max-width:760px){.approval-policy-grid,.approval-policy-inputs{grid-template-columns:1fr}.approval-policy-head,.approval-policy-role-head{align-items:stretch;flex-direction:column}}
.appr-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.appr-toolbar input{width:min(360px,100%);height:40px}
#pg-approvals .approval-tabs-bar{align-items:center;gap:8px}
#pg-approvals .approval-tabs-bar .appr-toolbar{margin:0 0 0 auto;flex:0 1 560px;justify-content:flex-end}
#pg-approvals .approval-tabs-bar .appr-toolbar input{width:min(420px,100%);height:42px;background:#fff}
#pg-approvals .approval-tabs-bar #appr-list-hint{white-space:nowrap}
#approval-bulk-slot{margin:-6px 0 12px}
.appr-pager{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #f0e6d6}
.appr-pager button{font-size:11px;padding:4px 9px}
.appr-pager .on{background:var(--br);color:#fff;border-color:var(--br)}
.appr-bulkbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:8px 0;padding:8px;border:1px solid #efd7b8;border-radius:10px;background:#fff8ed}
.appr-bulkbar .btn-g,.appr-bulkbar .btn-p,.appr-bulkbar .btn-s{font-size:10px;padding:4px 9px}
.appr-select{display:flex;align-items:center;gap:5px;font-size:10px;color:#8b7358;margin-bottom:5px}
.appr-select input{width:14px;height:14px;margin:0;accent-color:#d97706}
.bill-card{background:#fff;border:1px solid #eedfc8;border-radius:10px;padding:11px;margin-bottom:7px}
.modal-bg{position:fixed;inset:0;background:rgba(30,10,0,.4);display:flex;align-items:center;justify-content:center;z-index:999;border-radius:0}
.modal{background:#fff;border-radius:14px;border:1px solid #eedfc8;width:400px;max-height:92%;overflow-y:auto;box-shadow:0 20px 60px rgba(100,50,0,.2)}
.modal-lg{width:620px}
.receipt-review-card{border:1px solid #efd7b8;background:#fffaf2;border-radius:10px;padding:10px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.receipt-review-card strong{display:block;color:#334155;font-size:13px}
.receipt-review-card span{display:block;color:#8b7358;font-size:11px;line-height:1.5}
.receipt-viewer-modal{width:min(960px,calc(100vw - 28px));height:min(86vh,860px);max-height:86vh;display:flex;flex-direction:column;overflow:hidden}
.receipt-viewer-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid #f0e6d6;background:#fffaf2}
.receipt-viewer-toolbar .btn-g,.receipt-viewer-toolbar .btn-s,.receipt-viewer-toolbar .btn-p{font-size:11px;padding:5px 9px}
.receipt-viewer-body{flex:1;min-height:0;overflow:auto;background:#f7f0e7;padding:14px}
.receipt-viewer-stage{min-height:100%;display:flex;align-items:center;justify-content:center}
.receipt-viewer-img{max-width:100%;max-height:72vh;object-fit:contain;transform-origin:center;transition:transform .15s ease}
.receipt-viewer-frame{width:100%;height:72vh;border:0;background:#fff;transform-origin:center;transition:transform .15s ease}
.receipt-viewer-empty{padding:28px;text-align:center;color:#8b7358;background:#fff;border:1px dashed #dfc9b1;border-radius:10px}
.perm-toolbar-note{padding:10px 12px;border-bottom:1px solid #f0e6d6;background:#fff8ed;color:#6a5840;font-size:11px;line-height:1.6}
.perm-matrix-wrap{overflow:auto;max-height:62vh}
.perm-matrix{min-width:1320px;border-collapse:separate;border-spacing:0}
.perm-matrix th{position:sticky;top:0;background:#fff8ed;z-index:3;white-space:nowrap}
.perm-matrix th:first-child,.perm-matrix td:first-child{position:sticky;left:0;background:#fff;z-index:2;min-width:240px}
.perm-matrix th:first-child{z-index:4;background:#fff8ed}
.perm-matrix .perm-group-row td{position:static;background:#f7ead8;color:#8a4b0f;font-size:11px;font-weight:800;letter-spacing:.04em}
.perm-name{font-weight:750;color:#334155}
.perm-desc{font-size:10px;color:#94a3b8;line-height:1.35;margin-top:2px}
.perm-cell{display:grid;grid-template-columns:repeat(4,32px);gap:4px;justify-content:center;align-items:center}
.perm-level-btn{width:30px;height:30px;border-radius:50%;border:1px solid #e7d4b9;background:#fff;color:#9aa4b2;font-size:11px;font-weight:800;cursor:pointer;transition:.12s}
.perm-level-btn:hover{border-color:#e78922;color:#7c3f00}
.perm-level-btn.on[data-level="none"]{background:#e9edf3;border-color:#cbd5e1;color:#64748b}
.perm-level-btn.on[data-level="view"]{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}
.perm-level-btn.on[data-level="edit"]{background:#fef3c7;border-color:#f59e0b;color:#92400e}
.perm-level-btn.on[data-level="delete"]{background:#fee2e2;border-color:#f87171;color:#991b1b}
.perm-level-btn:disabled{opacity:.55;cursor:not-allowed}
/* 登入 */
.login-left{width:40%;background:var(--br);display:flex;flex-direction:column;justify-content:space-between;padding:38px;position:relative;overflow:hidden}
.login-right{flex:1;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:36px}
.google-btn{width:100%;padding:10px;border-radius:9px;border:1px solid #e0d0b8;background:#fff;font-size:13px;font-weight:500;color:#334155;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;margin-bottom:14px}
.google-btn:hover{border-color:var(--br);background:var(--brxxl)}
.oauth-webview-warning{display:none;background:#fff8ed;border:1px solid #efd7b8;border-radius:9px;padding:9px 10px;margin:0 0 12px;color:#7c3f00;font-size:11px;line-height:1.55}
.oauth-webview-warning strong{display:block;color:#5c3800;font-size:12px;margin-bottom:3px}
.oauth-webview-warning button{margin-top:7px;border:1px solid #dfc9b1;background:#fff;border-radius:7px;padding:5px 8px;color:#7c3f00;font-size:11px;font-weight:750;cursor:pointer}
.auth-loading{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fffaf2,#f8ead8);padding:28px;text-align:center}
.auth-loading-card{width:min(360px,100%);background:#fff;border:1px solid #efd7b8;border-radius:18px;padding:28px 26px;box-shadow:0 18px 46px rgba(92,56,0,.12)}
.auth-loading-logo{width:54px;height:54px;object-fit:contain;margin:0 auto 14px;display:block}
.auth-loading-card strong{display:block;color:#3a2517;font-size:18px;margin-bottom:6px}
.auth-loading-card span{display:block;color:#8b7358;font-size:12px;line-height:1.6}
.auth-loading-bar{height:6px;background:#f7ead8;border-radius:999px;overflow:hidden;margin-top:18px}
.auth-loading-bar b{display:block;width:44%;height:100%;border-radius:999px;background:#ea880c;animation:authLoading 1.1s ease-in-out infinite alternate}
@keyframes authLoading{from{transform:translateX(-80%)}to{transform:translateX(210%)}}
.action-feedback{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:100000;background:rgba(26,16,8,.28);backdrop-filter:blur(2px)}
.action-feedback.show{display:flex}
.action-feedback-card{min-width:260px;max-width:min(360px,calc(100vw - 40px));background:#fff;border:1px solid #efd7b8;border-radius:14px;padding:22px 24px;box-shadow:0 24px 70px rgba(48,30,10,.22);text-align:center;color:#3a2517}
.action-feedback-mark{width:42px;height:42px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}
.action-feedback-spinner{width:34px;height:34px;border:4px solid #f4dfc2;border-top-color:var(--br);border-radius:50%;animation:actionSpin .78s linear infinite}
.action-feedback-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eaf8d8;color:#1a7040;font-size:24px;font-weight:900;transform:scale(.9);animation:actionDone .18s ease-out forwards}
.action-feedback.fail .action-feedback-icon{background:#fde8e8;color:#a02020}
.action-feedback-title{font-size:17px;font-weight:850;margin-bottom:5px}
.action-feedback-sub{font-size:12px;color:#8b7358;line-height:1.6}
.ux-health-card,.ux-import-review,.ux-reject-card{border:1px solid #efd7b8;border-radius:10px;padding:9px 10px;background:#fff;margin-bottom:8px;font-size:12px;line-height:1.6}
.ux-health-card.ok,.ux-import-review.ok{border-color:#bfe5b8;background:#f3fbec;color:#1a5010}
.ux-health-card.warn,.ux-import-review.warn,.ux-reject-card{border-color:#f0b0b0;background:#fff1f2;color:#8a1010}
.ux-health-title,.ux-import-title,.ux-reject-title{font-size:12px;font-weight:850;margin-bottom:4px;color:#334155}
.ux-health-card.warn .ux-health-title,.ux-import-review.warn .ux-import-title,.ux-reject-title{color:#8a1010}
.ux-health-list,.ux-import-list{margin:5px 0 0;padding-left:18px}
.ux-health-list li,.ux-import-list li{margin:2px 0}
.ux-health-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.ux-route-mini{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.ux-route-mini span{display:inline-flex;align-items:center;min-height:26px;border:1px solid #d8ebc4;background:#fff;border-radius:8px;padding:3px 7px;font-size:11px;font-weight:750;color:#2f6b15}
.nr-submit-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:14px;align-items:stretch;margin-top:12px;padding:14px;border:1px solid #efd7b8;background:#fffaf3;border-radius:14px;box-shadow:0 12px 28px rgba(83,43,11,.06)}
.nr-submit-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.nr-submit-eyebrow{font-size:12px;font-weight:950;color:#7c3f00;letter-spacing:.04em}
.nr-submit-copy{font-size:12px;font-weight:700;color:#836f60;line-height:1.65}
.nr-route-health .ux-health-card{margin:0;border-radius:12px;padding:11px 12px}
.nr-route-health .ux-health-card.warn{background:#fff3f4;border-color:#f1a9b2}
.nr-route-health .ux-health-card.ok{background:#f5fbef;border-color:#bfdfaa}
.nr-route-health .ux-health-title{font-size:13px;margin-bottom:5px}
.nr-route-health .ux-health-list{display:grid;gap:3px;margin-top:7px;padding-left:18px}
.nr-submit-panel{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0;border:1px solid #efd7b8;background:#fff;border-radius:12px;padding:13px}
.nr-submit-panel-title{font-size:14px;font-weight:950;color:#3d210d}
.nr-submit-panel-sub{font-size:11px;font-weight:650;color:#8b7358;line-height:1.55;margin-top:3px}
.nr-submit-buttons{display:grid;grid-template-columns:1fr 1.2fr;gap:8px}
.nr-submit-buttons .btn-s,.nr-submit-buttons .btn-p{min-height:48px!important;width:100%;font-size:13px!important}
.action-busy{pointer-events:none;opacity:.72}
@keyframes actionSpin{to{transform:rotate(360deg)}}
@keyframes actionDone{to{transform:scale(1)}}
.divider{display:flex;align-items:center;gap:9px;margin:10px 0;color:#94a3b8;font-size:11px}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:#e0d0b8}

/* Brand refresh: mature orange finance system */
:root{
  --br:#d97706;--brd:#b45309;--brl:#f2a93b;--brxl:#ffe4b6;--brxxl:#fff7ed;--brtxt:#7c3f00;
  --cream:#fbfaf8;--warm:#f6efe6;--ink:#172033;--muted:#7a8699;--line:#ead8c2;--panel:#ffffff;
}
html,body{background:#eee7de}
body{padding:14px}
.app{max-width:1200px;height:800px;border-radius:18px;border:1px solid rgba(217,119,6,.18);background:#fbfaf8;box-shadow:0 28px 80px rgba(48,30,10,.18)}
.sb{width:212px;background:linear-gradient(180deg,#1f2430 0%,#171b24 100%);border-right:1px solid rgba(255,255,255,.06)}
.sb-logo{padding:16px 15px;border-bottom:1px solid rgba(255,255,255,.08);gap:10px}
.brand-logo{width:42px;height:42px;border-radius:12px;background:rgba(255,243,222,.96);border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:3px}
.brand-logo img,.login-brand img{width:100%;height:100%;object-fit:contain;display:block}
.brand-name{font-size:13px;font-weight:650;color:#fff;letter-spacing:.02em}
.brand-sub{font-size:10px;color:#aab3c2;letter-spacing:.04em;margin-top:2px}
.logo-b{display:none}
nav{padding:8px 9px}
nav::-webkit-scrollbar-thumb{background:#3a4657}
.ns{font-size:10px;color:#7c8798;letter-spacing:.12em;padding:12px 8px 5px}
.ni{gap:9px;padding:8px 9px;border-radius:9px;font-size:12px;color:#b8c1cf;margin-bottom:2px}
.ni:hover{background:rgba(255,255,255,.07);color:#fff}
.ni.on{background:linear-gradient(90deg,rgba(217,119,6,.28),rgba(217,119,6,.08));color:#fff;font-weight:650;box-shadow:inset 3px 0 0 var(--br)}
.nav-ico{width:18px;height:18px;border-radius:6px;border:1px solid rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#f6b35d}
.nav-ico svg{width:12px;height:12px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ni.on .nav-ico{background:var(--br);border-color:var(--br);color:#fff}
.ni .cnt{background:#fff2df;color:#8a4b06;font-weight:650}
.sb-bot{padding:12px;border-top:1px solid rgba(255,255,255,.08)}
.av{background:#fff2df;color:#8a4b06;font-weight:650}
.topbar{height:54px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:0 18px}
.content{padding:18px;background:linear-gradient(180deg,#fbfaf8 0%,#f7f1ea 100%)}
.ph{font-size:17px;font-weight:650;color:var(--ink)}
.ps{color:#7a8699}
.card{border:1px solid rgba(217,119,6,.15);border-radius:10px;box-shadow:0 8px 24px rgba(52,36,18,.05)}
.chd{border-bottom:1px solid #f0dfcd;background:#fffaf4}
.cht{font-weight:650;color:#253044}
.sc{background:#fff;border-color:rgba(217,119,6,.16);border-radius:9px}
.btn-p{border-radius:8px;font-weight:650;box-shadow:0 6px 16px rgba(217,119,6,.22)}
.btn-s,.btn-g,input,select,textarea{border-color:#dfc9b1}
.badge{border-radius:6px;font-weight:650}
.ep{border-radius:6px;background:#fff3de;border-color:#f0c987}
.login-left{width:43%;background:linear-gradient(145deg,#9a4f05 0%,#d97706 48%,#f1a234 100%);padding:42px}
.login-left::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.18),rgba(255,255,255,0) 34%),radial-gradient(circle at 25% 20%,rgba(255,255,255,.25),transparent 28%);pointer-events:none}
.login-right{background:#fbfaf8}
.login-brand{width:74px;height:74px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 44px rgba(92,46,0,.24);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5px}
.login-mark{display:grid;grid-template-columns:74px 1fr;gap:14px;align-items:center;margin-bottom:34px}
.login-title{color:#fff;font-size:25px;font-weight:700;line-height:1.25;margin-bottom:12px;letter-spacing:.01em}
.login-points{display:grid;gap:9px;color:rgba(255,255,255,.84);font-size:12px;line-height:1.6}
.login-point{display:flex;gap:8px;align-items:flex-start}
.login-point::before{content:'';width:6px;height:6px;border-radius:50%;background:#fff;margin-top:7px;flex-shrink:0}
.manual-download{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:12px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.46);background:rgba(255,255,255,.18);color:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(92,46,0,.14);transition:transform .15s,background .15s}
.manual-download:hover{background:rgba(255,255,255,.25);transform:translateY(-1px)}
.manual-download span{font-size:12px;font-weight:750;letter-spacing:.03em}
.manual-download strong{font-size:11px;color:rgba(255,255,255,.78);font-weight:650}
.version-note{margin-top:18px;padding:12px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.14);box-shadow:0 14px 34px rgba(92,46,0,.1)}
.version-note-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.version-note-title{font-size:12px;font-weight:850;color:#fff;letter-spacing:.04em}
.version-note-badge{font-size:10px;font-weight:850;color:#7c3f00;background:#fff7ed;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:3px 8px}
.version-note ul{margin:0;padding-left:16px;color:rgba(255,255,255,.82);font-size:11px;line-height:1.65}
.version-note li{margin:2px 0}
.google-btn{border-radius:8px;font-weight:650}
.step-type{border-radius:9px;min-height:126px;display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:center;padding:18px 20px}
.type-mark{width:52px;height:52px;border-radius:11px;background:#fff3de;border:1.5px solid #f0c987;color:#8a4b06;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(180,83,9,.08)}
.type-mark svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.type-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}
.type-title{font-size:18px;font-weight:850;color:#1e293b;line-height:1.25;white-space:normal;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.type-desc{font-size:14px;color:#8190a6;line-height:1.45;margin:2px 0 0;min-height:auto;display:block;overflow:visible;font-weight:650}

/* RWD：桌機、平板、手機共用 */
@media(max-width:1100px){
  body{padding:8px;align-items:stretch;justify-content:stretch}
  .app{max-width:none;width:100%;height:calc(100dvh - 16px);border-radius:14px}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  body{padding:0;min-height:100dvh}
  .app{height:100dvh;border-radius:0;border:none;box-shadow:none;flex-direction:column}
  #login-screen{flex-direction:column;overflow-y:auto;background:#fbfaf8}
  .login-left{width:100%;min-height:auto;padding:30px 28px 22px;overflow:visible;display:block}
  .login-left>div:last-child{display:none}
  .login-right{width:100%;padding:26px 28px 34px;align-items:flex-start;border-radius:24px 24px 0 0;margin-top:0;position:relative;z-index:2}
  .login-right>div{max-width:520px!important;margin:0 auto}
  .login-mark{margin-bottom:22px}
  .sb{width:100%;height:auto;max-height:172px;flex:none;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .sb-logo{padding:10px 12px}
  .brand-logo{width:34px;height:34px;border-radius:10px}
  .brand-name{font-size:12px}
  .brand-sub{font-size:9px}
  nav{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;padding:7px 8px;flex:none;scroll-snap-type:x proximity}
  nav::-webkit-scrollbar{height:3px;width:0}
  .ns{display:none}
  .ni{width:auto;min-width:max-content;flex:0 0 auto;margin:0;padding:7px 9px;scroll-snap-align:start}
  .ni .dot{display:none}
  .sb-bot{display:none}
  .main{min-height:0;flex:1}
  .topbar{height:auto;min-height:48px;padding:8px 12px;gap:8px;flex-wrap:wrap}
  #page-title{min-width:160px}
  #top-info{width:100%;font-size:10px}
  .content{padding:12px}
  .g2,.g3,.g4,.fr2,.fr3,#dept-arch{grid-template-columns:1fr!important}
  .nr-two-col{grid-template-columns:1fr!important}
  .card{overflow-x:auto}
  .card>table, .card table{min-width:620px}
  .chd{padding:8px 10px;align-items:flex-start}
  .tb-bar,.rtab-bar{overflow-x:auto;white-space:nowrap}
  .tb,.rtab{flex:0 0 auto}
  .modal{width:calc(100vw - 24px);max-height:88dvh}
  .modal-lg{width:calc(100vw - 24px)}
  .entry-row{grid-template-columns:70px minmax(160px,1fr) 86px 86px;min-width:520px}
}
@media(max-width:760px){
  .login-left{width:100%;min-height:auto;padding:24px 20px 18px;overflow:visible;display:block}
  .login-left>div:last-child{display:none}
  .login-right{width:100%;padding:22px 20px 30px;align-items:flex-start;border-radius:22px 22px 0 0;margin-top:0;position:relative;z-index:2}
  .login-right>div{max-width:320px!important;margin:0 auto}
  .login-mark{grid-template-columns:56px 1fr;gap:12px;margin-bottom:18px}
  .login-brand{width:56px;height:56px;border-radius:16px}
  .login-title{font-size:22px;margin-bottom:10px}
  .login-points{gap:5px;font-size:12px;line-height:1.48}
  .login-point::before{margin-top:6px}
  .version-note,.manual-download{margin-top:10px}
  .version-note{padding:10px 11px}
  .version-note-head{margin-bottom:6px}
  .version-note ul{font-size:10.5px;line-height:1.5}
  .ph{font-size:15px}
  .ps{font-size:11px;line-height:1.5}
  .btn-p,.btn-s,.btn-g{min-height:34px}
  input,select,textarea{min-height:36px;font-size:13px}
  .sheet-full-scroll{max-height:58dvh!important}
  #pg-newreq .card .chd .cht{font-size:12px}
  .flow-step{gap:8px}
  .flow-label{font-size:11px}
  .flow-sub{font-size:10px}
}
@media(max-width:520px){
  .content{padding:10px}
  .topbar button{padding:6px 8px}
  .g4{gap:7px}
  .sc{padding:9px 10px}
  .chd{gap:8px}
  .chd>div{width:100%;justify-content:flex-start!important}
  .login-left{padding:22px 20px 16px}
  .login-mark{margin-bottom:16px}
  .login-mark>div:last-child>div:first-child{font-size:17px!important}
  .login-mark>div:last-child>div:last-child{font-size:10px!important}
  .login-title{font-size:21px}
  .login-points{font-size:11.5px;gap:4px}
  .version-note-title{font-size:11px}
  .version-note-badge{font-size:9px;padding:2px 7px}
  .version-note ul{font-size:10px;line-height:1.45}
  .manual-download{padding:10px 11px}
  .badge,.ep,.dt{font-size:9px}
  table{font-size:11px}
  th,td{padding:6px 8px}
  .card>table, .card table{min-width:560px}
  .appr-card{padding:9px}
  .file-chip{max-width:100%}
  .bar-lbl{width:52px}
  .bar-val{width:58px}
}
/* Mobile UX polish: phone-first navigation, form actions and receipt entry */
@media(max-width:760px){
  .sb{max-height:none;background:#171b24}
  .sb-logo{min-height:56px}
  nav{
    position:fixed;left:0;right:0;bottom:0;z-index:220;
    height:64px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));
    background:rgba(23,27,36,.96);border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 -12px 32px rgba(25,16,8,.18);backdrop-filter:blur(14px);
    scroll-snap-type:x mandatory;
  }
  .ni{min-width:72px;min-height:48px;justify-content:center;flex-direction:column;gap:3px;padding:5px 8px;border-radius:12px;font-size:10px;text-align:center;line-height:1.1}
  .nav-ico{width:22px;height:22px;border-radius:8px}
  .nav-ico svg{width:14px;height:14px}
  .ni.on{box-shadow:none;background:rgba(217,119,6,.24)}
  .ni .cnt{position:absolute;transform:translate(24px,-15px)}
  .topbar{position:sticky;top:0;z-index:80;border-bottom-color:#ead8c2}
  #page-title{font-size:14px;line-height:1.2}
  #top-info{display:none}
  .mobile-nav-select{display:block;order:3;max-width:none;flex:1 1 100%}
  .topbar button[onclick*="notif"]{order:2}
  .content{padding-bottom:96px}
  .card{border-radius:12px}
  .chd{position:relative}
  .upload-zone{padding:16px 12px;border-radius:12px;background:#fff;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .upload-zone::before{content:'拍照 / 選擇檔案';display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;margin-bottom:8px;border-radius:999px;background:#fff3de;border:1px solid #f0c987;color:#7c3f00;font-size:12px;font-weight:750}
  .file-chip{width:100%;min-height:38px;justify-content:space-between;padding:7px 9px;margin:4px 0;border-radius:9px}
  .file-chip button{min-width:32px;min-height:32px;font-size:16px!important}
  .nr-info-panel{padding:12px;border-radius:12px}
  .nr-info-title{font-size:13px}
  input,select,textarea{min-height:44px;font-size:16px;padding:9px 11px}
  textarea{line-height:1.5}
  .fl{font-size:12px;margin-bottom:5px}
  .fg{margin-bottom:12px}
  .btn-p,.btn-s,.btn-g{min-height:44px;font-size:13px;border-radius:10px}
  .nr-type-grid{grid-template-columns:1fr!important}
  .step-type{min-height:118px;grid-template-columns:48px 1fr;padding:15px;gap:14px}
  .type-mark{width:44px;height:44px;border-radius:11px}
  .type-mark svg{width:23px;height:23px}
  .type-title{font-size:17px;white-space:normal}
  .type-desc{font-size:13px;min-height:auto}
  .type-employee-note{font-size:12px;padding:8px 10px}
  .nr-submit-actions{
    position:sticky;bottom:76px;z-index:120;margin:14px -2px 0!important;
    display:grid!important;grid-template-columns:1fr!important;gap:9px!important;
    padding:10px!important;border-radius:14px!important;background:rgba(255,248,237,.96)!important;
    box-shadow:0 12px 34px rgba(92,46,0,.18);backdrop-filter:blur(10px)
  }
  .nr-submit-main{gap:8px}
  .nr-submit-copy{font-size:11px!important;line-height:1.55}
  .nr-submit-panel{padding:10px!important}
  .nr-submit-buttons{grid-template-columns:1fr 1fr}
  .nr-submit-actions button{width:100%;min-width:0!important}
  .sheet-full-scroll{max-height:64dvh!important;-webkit-overflow-scrolling:touch}
  #lazy-sheet .lazy-sheet-scroll{max-height:64dvh!important;overflow:auto!important;border:1px solid #e8dcc8!important;background:#fff!important}
  #lazy-sheet table{min-width:1320px!important;width:100%!important;border-collapse:collapse!important;border-spacing:0!important}
  #lazy-sheet thead{display:table-header-group!important}
  #lazy-sheet tbody{display:table-row-group!important}
  #lazy-sheet tr{display:table-row!important;background:#fff!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;overflow:visible!important}
  #lazy-sheet th{display:table-cell!important;white-space:nowrap}
  #lazy-sheet td{display:table-cell!important;border:1px solid #e8dcc8!important;padding:0!important;min-height:0!important;vertical-align:middle!important}
  #lazy-sheet td::before{content:none!important}
  #lazy-sheet table input{min-height:34px!important;font-size:14px!important;border:none!important;border-radius:0!important;background:transparent!important}
  #lazy-sheet>div:last-child{display:grid!important;grid-template-columns:1fr;gap:8px;align-items:stretch!important}
  #lazy-sheet>div:last-child button{width:100%}
  #lazy-sheet>div:last-child>div{margin-left:0!important;text-align:left!important;background:#fff8ed;border:1px solid #f0c987;border-radius:10px;padding:9px}
  .modal-bg{align-items:flex-end}
  .modal,.modal-lg{width:100vw!important;max-height:88dvh;border-radius:18px 18px 0 0;border-left:none;border-right:none;border-bottom:none}
  #submit-confirm-body .g2{grid-template-columns:1fr!important}
}
/* Final responsive shell rules: tablet keeps the left menu; phone uses a bottom menu without page-wide horizontal scroll. */
html,body{overflow-x:hidden}
@media(min-width:901px){
  .app,.main,.content,.pg{max-width:100%;overflow-x:hidden!important}
  .content div[style*="overflow-x:auto"],
  .content div[style*="overflow:auto"]{max-width:100%!important;overflow-x:hidden!important}
  .content table{width:100%!important;min-width:0!important;table-layout:auto!important}
  .content th,.content td{white-space:normal!important;word-break:break-word}
  .sheet-full-scroll,.hr-sheet-scroll,.lazy-sheet-scroll{max-width:100%!important;overflow-x:hidden!important;overflow-y:visible!important}
  .sheet-full-scroll table,.hr-sheet-scroll table,#lazy-sheet table,#hr-expense-sheet table{width:100%!important;min-width:0!important}
  .sheet-full-scroll::after,.hr-sheet-scroll::after{content:none!important;display:none!important}
  table.mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  table.mobile-card-table thead{display:none!important}
  table.mobile-card-table tbody{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  table.mobile-card-table tbody:empty{display:block!important}
  table.mobile-card-table tbody:empty::after{content:'目前沒有資料';display:block;text-align:center;color:#94a3b8;font-size:12px;padding:24px 8px;border:1.5px dashed #ead8c2;border-radius:12px;background:#fff}
  table.mobile-card-table tr{display:block!important;background:#fff;border:1px solid #ead8c2;border-radius:12px;padding:8px 10px;box-shadow:0 8px 18px rgba(52,36,18,.05)}
  table.mobile-card-table tr:hover td{background:transparent!important}
  table.mobile-card-table td{display:grid!important;grid-template-columns:136px minmax(0,1fr);gap:10px;align-items:start;border-bottom:1px solid #f1e5d6!important;padding:8px 2px!important;white-space:normal!important;word-break:break-word!important}
  table.mobile-card-table td:last-child{border-bottom:none!important}
  table.mobile-card-table td::before{content:attr(data-label);font-size:11px;font-weight:750;color:#8b7358;line-height:1.45}
  table.mobile-card-table td:empty::after{content:'—';color:#94a3b8}
  table.mobile-card-table td,
  table.mobile-card-table td *{max-width:100%!important;min-width:0!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:anywhere!important;line-height:1.55!important}
  table.mobile-card-table td .badge,
  table.mobile-card-table td .ep,
  table.mobile-card-table td .dt{display:inline-flex!important;width:max-content!important;max-width:100%!important}
}
@media(min-width:761px) and (max-width:900px){
  .app{flex-direction:row!important;overflow:hidden!important}
  #login-screen{flex-direction:column!important}
  .sb{
    width:196px!important;height:100%!important;max-height:none!important;flex:0 0 196px!important;
    border-right:1px solid rgba(255,255,255,.06)!important;border-bottom:none!important
  }
  .sb-logo{padding:12px 11px!important}
  nav{
    display:block!important;position:static!important;height:auto!important;padding:8px!important;
    overflow-x:hidden!important;overflow-y:auto!important;scroll-snap-type:none!important;
    background:transparent!important;border-top:none!important;box-shadow:none!important;backdrop-filter:none!important
  }
  .ns{display:block!important}
  .ni{
    width:100%!important;min-width:0!important;min-height:0!important;display:flex!important;flex-direction:row!important;
    justify-content:flex-start!important;gap:8px!important;margin:0 0 3px!important;padding:8px!important;
    border-radius:9px!important;text-align:left!important;font-size:11px!important;line-height:1.2!important;scroll-snap-align:none!important
  }
  .ni .dot{display:block!important}
  .ni .cnt{position:static!important;transform:none!important;margin-left:auto!important}
  .sb-bot{display:flex!important}
  .main{min-width:0!important;overflow:hidden!important}
  .content,.pg{max-width:100%;overflow-x:hidden!important}
  .card{max-width:100%;overflow:hidden}
  .content div[style*="overflow-x:auto"],
  .content div[style*="overflow:auto"]{max-width:100%!important;overflow-x:hidden!important}
  .content table{width:100%!important;min-width:0!important;table-layout:auto!important}
  .content th,.content td{white-space:normal!important;word-break:break-word}
  .sheet-full-scroll,.hr-sheet-scroll,.lazy-sheet-scroll{max-width:100%!important;overflow-x:hidden!important;overflow-y:visible!important}
  .sheet-full-scroll table,.hr-sheet-scroll table,#lazy-sheet table,#hr-expense-sheet table{width:100%!important;min-width:0!important}
  .sheet-full-scroll::after,.hr-sheet-scroll::after{content:none!important;display:none!important}
  table.mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  table.mobile-card-table thead{display:none!important}
  table.mobile-card-table tbody{display:block!important}
  table.mobile-card-table tbody:empty::after{content:'目前沒有資料';display:block;text-align:center;color:#94a3b8;font-size:12px;padding:24px 8px;border:1.5px dashed #ead8c2;border-radius:12px;background:#fff}
  table.mobile-card-table tr{display:block!important;background:#fff;border:1px solid #ead8c2;border-radius:12px;margin:0 0 10px;padding:6px 8px;box-shadow:0 8px 18px rgba(52,36,18,.05)}
  table.mobile-card-table tr:hover td{background:transparent!important}
  table.mobile-card-table td{display:grid!important;grid-template-columns:118px minmax(0,1fr);gap:10px;align-items:start;border-bottom:1px solid #f1e5d6!important;padding:8px 2px!important;white-space:normal!important;word-break:break-word!important}
  table.mobile-card-table td:last-child{border-bottom:none!important}
  table.mobile-card-table td::before{content:attr(data-label);font-size:11px;font-weight:750;color:#8b7358;line-height:1.45}
  table.mobile-card-table td:empty::after{content:'—';color:#94a3b8}
  table.mobile-card-table td,
  table.mobile-card-table td *{max-width:100%!important;min-width:0!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:anywhere!important;line-height:1.55!important}
  table.mobile-card-table td .badge,
  table.mobile-card-table td .ep,
  table.mobile-card-table td .dt{display:inline-flex!important;width:max-content!important;max-width:100%!important}
}
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  .app{width:100%!important;max-width:100%!important;overflow:hidden!important;flex-direction:column!important}
  .main,.content,.pg{max-width:100%;overflow-x:hidden!important}
  .sb{position:fixed!important;left:0!important;top:0!important;z-index:990!important;width:0!important;height:100dvh!important;max-height:none!important;min-height:100dvh!important;flex:0 0 0!important;border:none!important;overflow:visible!important;background:transparent!important;transform:none!important;pointer-events:none!important}
  .sb-logo,.sb-bot{display:none!important}
  nav{
    display:flex!important;position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;z-index:999!important;
    width:100vw!important;height:64px!important;max-height:64px!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;
    overflow-x:auto!important;overflow-y:hidden!important;background:rgba(23,27,36,.98)!important;border-top:1px solid rgba(255,255,255,.08)!important;
    border-bottom:none!important;box-shadow:0 -12px 32px rgba(25,16,8,.18)!important;backdrop-filter:blur(14px)!important;scroll-snap-type:x mandatory!important
  }
  nav{pointer-events:auto!important}
  nav .ns{display:none!important}
  nav .ni{width:auto!important;min-width:72px!important;min-height:48px!important;flex:0 0 auto!important;display:flex!important;justify-content:center!important;align-items:center!important;flex-direction:column!important;gap:3px!important;margin:0!important;padding:5px 8px!important;border-radius:12px!important;font-size:10px!important;text-align:center!important;line-height:1.1!important;scroll-snap-align:start!important}
  .card,.sc,.nr-info-panel,.upload-zone,.flow-panel,.approval-card{max-width:100%;overflow:hidden}
  .content div[style*="overflow-x:auto"],
  .content div[style*="overflow:auto"]{max-width:100%!important}
  .content table{width:100%!important;min-width:0!important;table-layout:auto!important}
  .content th,.content td{white-space:normal!important;word-break:break-word}
  .sheet-full-scroll,.hr-sheet-scroll{max-width:100%!important;overflow-x:hidden!important}
  .sheet-full-scroll table,.hr-sheet-scroll table{width:100%!important;min-width:0!important}
  .entry-row{min-width:0!important;grid-template-columns:58px minmax(0,1fr) 64px 64px!important}
  .type-title,.type-desc,.cht,#page-title{word-break:break-word}
}
/* Phone layout pass: convert dense desktop views into readable single-column mobile screens. */
@media(max-width:760px){
  .content{height:100%;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .ph{font-size:18px;line-height:1.25}
  .ps{font-size:12px;line-height:1.6}
  #dash-finance-head{display:block!important}
  #dash-finance-head .btn-g{margin-top:8px;width:100%;justify-content:center}
  #dash-finance-banner{padding:12px!important;border-radius:14px!important}
  #dash-finance-banner>div:last-child,
  #entity-cards,
  #dash-dist-wrap>div,
  #recv-kpis,
  #recv-trend,
  #trial-kpis,
  #tax-kpis{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  #entity-cards-wrap .sc{min-width:0!important}
  .approval-shell{display:grid!important;grid-template-columns:1fr!important;height:auto!important;gap:10px!important}
  #pg-approvals .tb-bar{position:sticky;top:48px;z-index:40;background:#fbfaf8;border:1px solid #ead8c2;border-radius:12px;padding:4px;margin-bottom:8px;box-shadow:0 8px 20px rgba(52,36,18,.06)}
  #pg-approvals .approval-tabs-bar{position:static;display:flex;flex-wrap:wrap}
  #pg-approvals .approval-tabs-bar .appr-toolbar{flex:1 0 100%;margin:6px 0 0;justify-content:stretch}
  #pg-approvals .approval-tabs-bar .appr-toolbar input{width:100%}
  #pg-approvals .approval-tabs-bar #appr-list-hint{display:none}
  #pg-approvals .tb{min-height:38px;border-radius:9px;border-bottom:none;padding:7px 10px}
  #pg-approvals .tb.on{background:#fff3de;color:#7c3f00}
  #appr-list{overflow:visible;border:0;border-radius:0;padding:0;background:transparent}
  #m-appr #appr-inner{height:auto!important;max-height:88vh!important;overflow-y:auto!important}
  #detail-body{display:grid!important;grid-template-columns:1fr!important}
  #detail-body .detail-full-row{grid-column:1!important}
  #detail-body .detail-info-card>div:nth-child(2){grid-template-columns:1fr!important}
  #detail-body .detail-progress-card{max-height:none}
  .modal-bg{padding-top:12px}
  table.mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  table.mobile-card-table thead{display:none!important}
  table.mobile-card-table tbody{display:block!important}
  table.mobile-card-table tbody:empty::after{content:'目前沒有資料';display:block;text-align:center;color:#94a3b8;font-size:12px;padding:24px 8px;border:1.5px dashed #ead8c2;border-radius:12px;background:#fff}
  table.mobile-card-table tr{display:block!important;background:#fff;border:1px solid #ead8c2;border-radius:12px;margin:0 0 10px;padding:6px 8px;box-shadow:0 8px 18px rgba(52,36,18,.05)}
  table.mobile-card-table tr:hover td{background:transparent!important}
  table.mobile-card-table td{display:grid!important;grid-template-columns:104px minmax(0,1fr);gap:8px;align-items:start;border-bottom:1px solid #f1e5d6!important;padding:8px 2px!important;white-space:normal!important;word-break:break-word!important}
  table.mobile-card-table td:last-child{border-bottom:none!important}
  table.mobile-card-table td::before{content:attr(data-label);font-size:11px;font-weight:750;color:#8b7358;line-height:1.45}
  table.mobile-card-table td:empty::after{content:'—';color:#94a3b8}
  table.mobile-card-table td,
  table.mobile-card-table td *{max-width:100%!important;min-width:0!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:anywhere!important;line-height:1.55!important}
  table.mobile-card-table td .badge,
  table.mobile-card-table td .ep,
  table.mobile-card-table td .dt{display:inline-flex!important;width:max-content!important;max-width:100%!important}
  .sheet-full-scroll,.hr-sheet-scroll,.lazy-sheet-scroll{overflow-x:hidden!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch}
  .sheet-full-scroll table,.hr-sheet-scroll table,#lazy-sheet table,#hr-expense-sheet table{width:100%!important;min-width:0!important}
  .sheet-full-scroll::after,.hr-sheet-scroll::after{content:none!important;display:none!important}
}
/* New request detail sheets are spreadsheet editors. Keep them as tables on every viewport. */
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) :is(.sheet-full-scroll,.lazy-sheet-scroll,.hr-sheet-scroll){
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  scrollbar-width:thin;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table{
  display:table!important;
  width:auto!important;
  max-width:none!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  table-layout:auto!important;
}
#pg-newreq #lazy-sheet table.excel-sheet-table{min-width:1320px!important}
#pg-newreq #travel-sheet table.excel-sheet-table{min-width:880px!important}
#pg-newreq #refund-sheet table.excel-sheet-table{min-width:1260px!important}
#pg-newreq #purchase-sheet table.excel-sheet-table{min-width:760px!important}
#pg-newreq #hr-expense-sheet table.excel-sheet-table{min-width:1120px!important}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table thead{display:table-header-group!important}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table tbody{display:table-row-group!important}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table tr{
  display:table-row!important;
  background:#fff!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table th,
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table td{
  display:table-cell!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow:visible!important;
  writing-mode:horizontal-tb!important;
  vertical-align:middle!important;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table td::before,
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table td:empty::after{
  content:none!important;
  display:none!important;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table td *,
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table th *{
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.35!important;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table input,
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table select{
  min-width:92px!important;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table::after{
  content:'';
  display:block;
  height:1px;
  width:1px;
}
/* Invoice and bill application sheets must stay spreadsheet-like, not mobile cards. */
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) :is(.sheet-full-scroll,.invoice-sheet-scroll),
#pg-bills #bill-entry-sheet .sheet-full-scroll{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  scrollbar-width:thin;
}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table,
#pg-bills #bill-entry-sheet table.excel-sheet-table{
  display:table!important;
  width:auto!important;
  max-width:none!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  table-layout:auto!important;
}
#pg-invoices #invoice-single-sheet table.excel-sheet-table{min-width:1340px!important}
#pg-invoices #invoice-batch-sheet table.excel-sheet-table{min-width:1280px!important}
#pg-bills #bill-entry-sheet table.excel-sheet-table{min-width:1280px!important;width:auto!important;table-layout:auto!important}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table thead,
#pg-bills #bill-entry-sheet table.excel-sheet-table thead{display:table-header-group!important}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table tbody,
#pg-bills #bill-entry-sheet table.excel-sheet-table tbody{display:table-row-group!important}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table tr,
#pg-bills #bill-entry-sheet table.excel-sheet-table tr{
  display:table-row!important;background:#fff!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important;overflow:visible!important;
}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table th,
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table td,
#pg-bills #bill-entry-sheet table.excel-sheet-table th,
#pg-bills #bill-entry-sheet table.excel-sheet-table td{
  display:table-cell!important;white-space:nowrap!important;word-break:normal!important;overflow:visible!important;writing-mode:horizontal-tb!important;vertical-align:middle!important;border:1px solid #e8dcc8!important;padding:4px!important;
}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table th,
#pg-bills #bill-entry-sheet table.excel-sheet-table th{background:#f6efe6!important;color:#7c3f00!important;font-size:11px;font-weight:750}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table td::before,
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table td:empty::after,
#pg-bills #bill-entry-sheet table.excel-sheet-table td::before,
#pg-bills #bill-entry-sheet table.excel-sheet-table td:empty::after{content:none!important;display:none!important}
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table input,
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table select,
#pg-bills #bill-entry-sheet table.excel-sheet-table input{
  border:none!important;background:transparent!important;border-radius:0!important;padding:5px!important;width:100%!important;min-width:90px!important;font-size:12px!important;
}

/* Governance Center visual refresh. Keep this block last so it only adjusts presentation. */
:root{
  --font-sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --admin-orange:#f08a24;
  --admin-orange-dark:#c86112;
  --admin-brown:#3d210d;
  --admin-muted:#836f60;
  --admin-paper:#fffaf2;
  --admin-cream:#f7ecd8;
  --admin-line:#ead3b3;
  --admin-surface:#ffffff;
  --admin-soft:#f8f1e7;
  --admin-shadow:0 22px 70px rgba(83,43,11,.10);
  --br:var(--admin-orange);
  --brd:var(--admin-orange-dark);
  --brl:#f5c067;
  --brxl:#fff0d6;
  --brxxl:#fff7ed;
  --brtxt:var(--admin-orange-dark);
  --cream:var(--admin-paper);
  --warm:var(--admin-soft);
  --ink:var(--admin-brown);
  --muted:var(--admin-muted);
  --line:var(--admin-line);
}
html,body{
  background:#f7f3ec!important;
  color:var(--admin-brown);
  font-family:var(--font-sans);
}
body{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
.app{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh!important;
  height:100dvh!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#f7f3ec!important;
}
.sb{
  width:300px!important;
  background:linear-gradient(180deg,#fffaf2,#fff6eb),#fff!important;
  border-right:1px solid var(--admin-line)!important;
  color:var(--admin-brown);
}
.sb-logo{
  padding:26px!important;
  border-bottom:1px solid rgba(234,211,179,.8)!important;
  gap:12px!important;
}
.brand-logo{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid var(--admin-line)!important;
  box-shadow:none!important;
}
.brand-name{color:var(--admin-orange)!important;font-size:23px!important;font-weight:900!important;line-height:1.2}
.brand-sub{color:var(--admin-muted)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase}
nav{padding:14px 16px!important}
nav::-webkit-scrollbar-thumb{background:#e6cdaa!important}
.ns{
  padding:14px 10px 6px!important;
  color:var(--admin-orange-dark)!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.12em!important;
}
.ni{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:54px!important;
  margin-bottom:8px!important;
  padding:8px 14px 8px 8px!important;
  border-radius:18px!important;
  color:var(--admin-muted)!important;
  font-size:16px!important;
  font-weight:900!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.ni:hover,.ni.on{
  background:var(--admin-orange)!important;
  color:#fff!important;
  transform:translateX(2px);
  box-shadow:none!important;
}
.nav-ico{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:0!important;
  color:var(--admin-orange-dark)!important;
}
.ni:hover .nav-ico,.ni.on .nav-ico{
  background:rgba(255,255,255,.22)!important;
  color:#fff!important;
}
.nav-ico svg{width:18px!important;height:18px!important}
.ni .dot{display:none!important}
.ni .cnt{
  background:#fff!important;
  color:var(--admin-orange-dark)!important;
  font-weight:1000!important;
  font-size:11px!important;
  padding:2px 8px!important;
}
.sb-bot{
  margin:0 26px 26px!important;
  padding:14px!important;
  border:1px solid var(--admin-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  gap:12px!important;
}
.av{
  width:42px!important;
  height:42px!important;
  background:var(--admin-orange)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:1000!important;
}
#sb-name{color:var(--admin-brown)!important;font-size:14px!important;font-weight:900!important}
#sb-role{color:var(--admin-muted)!important;font-size:12px!important;font-weight:800!important}
.main{background:#f7f3ec!important}
.topbar{
  min-height:82px!important;
  height:auto!important;
  padding:18px 34px!important;
  border-bottom:1px solid var(--admin-line)!important;
  background:rgba(255,250,242,.92)!important;
  backdrop-filter:blur(16px);
}
#page-title{
  color:var(--admin-brown)!important;
  font-size:22px!important;
  font-weight:1000!important;
  letter-spacing:.01em;
}
#top-info{
  color:var(--admin-muted)!important;
  font-size:14px!important;
  font-weight:850!important;
}
.module-switch-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.module-switch-button{
  border:1px solid var(--admin-line);
  background:#fff;
  color:var(--admin-orange-dark);
  border-radius:999px;
  min-height:38px;
  padding:8px 14px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.module-switch-button.primary{background:var(--admin-orange);border-color:var(--admin-orange);color:#fff}
.module-switch-button:hover{box-shadow:0 8px 20px rgba(160,86,10,.12);transform:translateY(-1px)}
.module-todo-badge{
  display:none;
  min-width:19px;
  height:19px;
  padding:0 6px;
  border-radius:999px;
  background:#c2410c;
  color:#fff;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:900;
  line-height:1;
  margin-left:6px;
}
.content{
  padding:34px!important;
  background:#f7f3ec!important;
}
.ph{
  color:var(--admin-brown)!important;
  font-size:clamp(32px,4vw,54px)!important;
  font-weight:1000!important;
  line-height:1!important;
  letter-spacing:-.01em;
}
.ps{
  margin-top:10px!important;
  color:var(--admin-muted)!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.75;
}
.card,.sc,.bill-card,.voucher-card,.modal{
  border:1px solid var(--admin-line)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:var(--admin-shadow)!important;
}
.card{overflow:hidden}
.chd{
  min-height:62px;
  padding:18px 22px!important;
  border-bottom:1px solid var(--admin-line)!important;
  background:#fffaf5!important;
}
.cht{
  color:var(--admin-brown)!important;
  font-size:20px!important;
  font-weight:1000!important;
}
.sc{
  padding:22px!important;
  border-radius:24px!important;
}
table{border-collapse:separate!important;border-spacing:0!important}
th{
  padding:13px 16px!important;
  background:var(--admin-soft)!important;
  color:var(--admin-muted)!important;
  font-size:13px!important;
  font-weight:1000!important;
  letter-spacing:.04em;
}
td{
  padding:14px 16px!important;
  border-bottom:1px solid rgba(234,211,179,.72)!important;
  color:var(--admin-brown)!important;
  font-size:14px!important;
}
tr:hover td{background:#fff7ed!important}
input,select,textarea{
  min-height:50px;
  border:1px solid var(--admin-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:var(--admin-brown)!important;
  font-weight:800;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--admin-orange)!important;
  box-shadow:0 0 0 4px rgba(240,138,36,.12)!important;
}
.fl{
  color:var(--admin-muted)!important;
  font-size:13px!important;
  font-weight:950!important;
}
.btn-p,.btn-s,.btn-g,.tb,.rtab{
  min-height:42px;
  border-radius:999px!important;
  font-weight:1000!important;
}
.btn-p{
  background:var(--admin-orange)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 14px 34px rgba(240,138,36,.22)!important;
}
.btn-p:hover{background:var(--admin-orange-dark)!important}
.btn-s,.btn-g{
  background:#fff!important;
  border:1px solid var(--admin-line)!important;
  color:var(--admin-brown)!important;
}
.btn-s:hover,.btn-g:hover,.btn-g.on{
  border-color:var(--admin-orange)!important;
  background:#fff7ed!important;
  color:var(--admin-orange-dark)!important;
}
.tb-bar,.rtab-bar{
  gap:8px;
  padding:8px!important;
  border:1px solid var(--admin-line)!important;
  border-radius:24px!important;
  background:#fffaf5!important;
  margin-bottom:18px!important;
}
.tb,.rtab{
  border:1px solid transparent!important;
  border-bottom:1px solid transparent!important;
  color:var(--admin-muted)!important;
  padding:0 16px!important;
}
.tb.on,.rtab.on{
  border-color:var(--admin-orange)!important;
  background:var(--admin-orange)!important;
  color:#fff!important;
}
.badge,.ep,.dt{
  min-height:30px;
  align-items:center;
  border-radius:999px!important;
  padding:5px 12px!important;
  font-size:12px!important;
  font-weight:1000!important;
}
.ep{background:#fff2dc!important;color:var(--admin-orange-dark)!important;border:1px solid rgba(240,138,36,.28)!important}
.upload-zone{
  border:1.5px dashed var(--admin-line)!important;
  border-radius:24px!important;
  background:#fffaf5!important;
  padding:24px!important;
}
.upload-zone:hover,.upload-zone.drag{
  border-color:var(--admin-orange)!important;
  background:#fff7ed!important;
}
.appr-card{
  border:1px solid rgba(234,211,179,.86)!important;
  border-radius:22px!important;
  background:#fffaf5!important;
  padding:16px!important;
  margin-bottom:12px!important;
  box-shadow:none!important;
}
.appr-card:hover,.appr-card.selected,.appr-card.bulk-selected{
  border-color:var(--admin-orange)!important;
  background:#fff7ed!important;
  box-shadow:0 12px 32px rgba(83,43,11,.10)!important;
}
.appr-bulkbar{
  padding:14px!important;
  border-radius:22px!important;
  background:#fff7ed!important;
  border-color:rgba(240,138,36,.28)!important;
}
.flow-step:not(:last-child)::after{background:var(--admin-line)!important}
.flow-dot{
  width:30px!important;
  height:30px!important;
  border-color:var(--admin-line)!important;
  background:var(--admin-soft)!important;
  font-weight:1000!important;
}
.flow-dot.me,.flow-dot.done{
  background:var(--admin-orange)!important;
  color:#fff!important;
  border-color:var(--admin-orange)!important;
}
.flow-label{color:var(--admin-brown)!important;font-size:15px!important;font-weight:1000!important}
.flow-sub{color:var(--admin-muted)!important;font-size:13px!important;font-weight:800!important}
#detail-body .detail-progress-card{
  display:flex;
  flex-direction:column;
  max-height:min(72vh,760px)!important;
  overflow:hidden!important;
}
#detail-body .detail-progress-card .chd{flex-shrink:0}
#detail-body .detail-progress-scroll{
  flex:1;
  min-height:0;
  padding:12px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--admin-orange) #f5eadc;
}
#detail-body .detail-progress-scroll::-webkit-scrollbar{width:8px}
#detail-body .detail-progress-scroll::-webkit-scrollbar-track{background:#f5eadc;border-radius:999px}
#detail-body .detail-progress-scroll::-webkit-scrollbar-thumb{background:var(--admin-orange);border-radius:999px}
@media(max-width:860px){
  #detail-body .detail-progress-card{max-height:64dvh!important}
}
.step-feedback{
  border-color:var(--admin-orange)!important;
  background:#fff!important;
  color:var(--admin-brown)!important;
  border-radius:14px!important;
}
#dash-finance-banner{
  background:linear-gradient(135deg,var(--admin-orange-dark),var(--admin-orange))!important;
  border-radius:30px!important;
  box-shadow:var(--admin-shadow)!important;
  padding:26px!important;
}
#dash-finance-banner [style*="font-size:20px"]{
  font-size:30px!important;
  font-weight:1000!important;
}
.modal-bg{background:rgba(61,33,13,.48)!important}
.modal{border-radius:30px!important}
.login-left{
  background:linear-gradient(145deg,#9a4f05 0%,#d97706 48%,#f1a234 100%)!important;
}
.login-right{background:#fbfaf8!important}
.google-btn{
  min-height:52px;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--admin-brown)!important;
  font-weight:1000!important;
}

@media(max-width:980px){
  .sb{width:240px!important}
  .content{padding:24px!important}
  .ph{font-size:38px!important}
  .cht{font-size:18px!important}
}
@media(max-width:760px){
  .app{height:100dvh!important;min-height:100dvh!important}
  .sb{
    width:0!important;
    background:transparent!important;
    border-right:0!important;
  }
  nav{
    background:rgba(255,250,242,.98)!important;
    border-top:1px solid var(--admin-line)!important;
    box-shadow:0 -18px 54px rgba(83,43,11,.16)!important;
  }
  nav .ni{
    color:var(--admin-muted)!important;
    font-size:10px!important;
    border-radius:18px!important;
  }
  nav .ni.on,nav .ni:hover{
    background:var(--admin-orange)!important;
    color:#fff!important;
    transform:none!important;
  }
  nav .nav-ico{
    width:24px!important;
    height:24px!important;
    border-radius:9px!important;
    background:#fff!important;
    color:var(--admin-orange-dark)!important;
  }
  nav .ni.on .nav-ico,nav .ni:hover .nav-ico{
    background:rgba(255,255,255,.22)!important;
    color:#fff!important;
  }
  .topbar{
    min-height:64px!important;
    padding:10px 14px!important;
  }
  #page-title{font-size:18px!important}
  .content{padding:16px 14px 102px!important}
  .ph{font-size:28px!important;line-height:1.15!important}
  .ps{font-size:13px!important}
  .card,.sc,.bill-card,.voucher-card{border-radius:22px!important}
  .chd{padding:14px 16px!important}
  .cht{font-size:17px!important}
  th{font-size:12px!important}
  td{font-size:13px!important}
  .btn-p,.btn-s,.btn-g{border-radius:16px!important}
  .tb-bar,.rtab-bar{border-radius:18px!important}
}

/* Spreadsheet editors keep the Excel look after the visual refresh. */
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table th,
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table th{
  padding:6px 8px!important;
  border:1px solid #e8dcc8!important;
  background:#f7ead6!important;
  color:#7c3f00!important;
  font-size:11px!important;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table td,
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table td{
  padding:0!important;
  border:1px solid #e8dcc8!important;
  background:#fff!important;
}
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table input,
#pg-newreq :is(#lazy-sheet,#travel-sheet,#refund-sheet,#purchase-sheet,#hr-expense-sheet) table.excel-sheet-table select,
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table input,
#pg-invoices :is(#invoice-single-sheet,#invoice-batch-sheet) table.excel-sheet-table select{
  min-height:34px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  font-weight:700!important;
}
#pg-newreq #travel-sheet table.excel-sheet-table{
  font-family:var(--font-sans)!important;
}
#pg-newreq #travel-sheet table.excel-sheet-table th{
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  line-height:1.35!important;
}
#pg-newreq #travel-sheet table.excel-sheet-table td{
  font-size:12px!important;
  font-weight:650!important;
  color:#3d210d!important;
  line-height:1.45!important;
}
#pg-newreq #travel-sheet table.excel-sheet-table input{
  font-family:var(--font-sans)!important;
  font-size:12px!important;
  font-weight:650!important;
  color:#3d210d!important;
}
#pg-newreq #travel-sheet table.excel-sheet-table td.travel-sheet-muted,
#pg-newreq #travel-sheet table.excel-sheet-table td.travel-sheet-rule{
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  max-width:360px!important;
}
#pg-newreq #travel-sheet :is(.sheet-full-scroll,.travel-sheet-scroll){
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-x pan-y!important;
}
#pg-newreq #travel-sheet table.excel-sheet-table::after{
  content:none!important;
  display:none!important;
}
.travel-sheet-item{font-weight:850;color:#3d210d}
.travel-sheet-limit,.travel-sheet-amount{font-family:var(--font-sans)!important;font-variant-numeric:tabular-nums}
.travel-sheet-muted{font-size:11px!important;font-weight:650!important;color:#8ca0b8!important;line-height:1.45}
.travel-sheet-rule{font-size:11px!important;font-weight:650!important;color:#8b7358!important;line-height:1.5}
.travel-sheet-rule.warn{color:#8a1010!important}
.travel-sheet-jump-row{display:flex;justify-content:flex-end;margin-top:10px}
.travel-sheet-jump-row .btn-g{min-height:40px}

/* Finance-wide shape normalization: keep controls professional, not circular. */
.btn-p,.btn-s,.btn-g,.tb,.rtab,.google-btn,.manual-download,.version-note-badge,
.badge,.ep,.dt,.file-chip,.appr-select,.mobile-nav-select{
  border-radius:10px!important;
}
.btn-p,.btn-s,.btn-g{
  min-height:40px!important;
  padding:8px 14px!important;
  justify-content:center;
}
.tb-bar,.rtab-bar,.appr-bulkbar,.upload-zone,.card,.sc,.bill-card,.voucher-card,.modal,
.employee-guide-main,.employee-guide-card,.employee-step-help,.employee-mini-step,
.step-type,.step-opt,.nr-info-panel,.type-mark,.brand-logo,.login-brand{
  border-radius:10px!important;
}
.si-dot,.flow-dot,.tl-dot,.av,.login-point::before,
.ni .cnt,#n-badge,#dash-notif [style*="border-radius:50%"],
.notif-row [style*="border-radius:50%"]{
  border-radius:6px!important;
}
.prog-wrap,.prog-fill,.bar-track,.bar-fill,
[style*="border-radius:999px"],[style*="border-radius:99px"],[style*="border-radius:50%"]{
  border-radius:8px!important;
}
#pg-bills>.pg-header,#pg-bills .btn-p{
  border-radius:10px!important;
}
#pg-bills>div:first-child{
  align-items:flex-start!important;
  gap:12px;
}
#pg-bills>div:first-child .btn-p{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:42px!important;
  padding:8px 14px!important;
  aspect-ratio:auto!important;
  border-radius:10px!important;
  flex-shrink:0;
}
@media(max-width:760px){
  .btn-p,.btn-s,.btn-g{border-radius:10px!important}
  nav .ni,nav .nav-ico,.card,.sc,.bill-card,.voucher-card,.modal{border-radius:10px!important}
}

/* Finance-wide clipping guard: charts, cards, file controls and review rows must grow instead of cutting text. */
.ledger-chart-body,.statement-chart-body,
.ledger-pie-panel,.statement-chart-card,
.account-list-section,.account-list-row,
.approval-table.compact td,
.approval-table.compact th{
  min-width:0!important;
}
.ledger-mini-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
}
.ledger-pie-layout{
  display:grid!important;
  grid-template-columns:minmax(108px,132px) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
}
.ledger-pie-layout canvas{
  width:118px!important;
  height:118px!important;
  max-width:100%!important;
  justify-self:center!important;
}
.ledger-pie-legend,.statement-chart-legend{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
.ledger-legend-row,.statement-legend-row{
  display:grid!important;
  grid-template-columns:12px minmax(0,1fr)!important;
  grid-template-areas:"dot name" "dot value"!important;
  gap:3px 8px!important;
  align-items:start!important;
  min-width:0!important;
}

/* Runtime role permissions hide unauthorized navigation with inline display:none.
   Keep that security state above desktop and mobile layout rules that use !important. */
.sb nav .ni[style*="display: none"]{display:none!important}
.ledger-legend-dot,.statement-legend-dot{
  grid-area:dot!important;
  margin-top:4px!important;
}
.ledger-legend-name,.statement-legend-name{
  grid-area:name!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  line-height:1.45!important;
}
.ledger-legend-value,.statement-legend-value{
  grid-area:value!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  line-height:1.45!important;
}
.statement-pie-layout{
  grid-template-columns:minmax(150px,180px) minmax(0,1fr)!important;
  min-width:0!important;
}
.statement-pie-canvas{
  max-width:100%!important;
  justify-self:center!important;
}
.ledger-dept-bar-row,.ledger-rank-row,.statement-rank-row,.statement-money-row{
  align-items:start!important;
}
.ledger-dept-bar-name,.ledger-rank-name,.statement-rank-name,
.account-list-name,.account-list-usage-main,.account-list-usage-sub,
.accounting-priority-value,.accounting-priority-name,
.approval-table.compact .summary-cell{
  min-width:0!important;
  max-height:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  line-height:1.45!important;
}
.approval-table.compact tbody tr,
.approval-table.compact th,
.approval-table.compact td{
  height:auto!important;
}
.approval-file-field,.travel-file-control{
  height:auto!important;
  min-height:56px!important;
  align-items:flex-start!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}
.approval-file-name,.travel-file-text{
  flex:1 1 220px!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.receipt-review-card,.accounting-priority-item,.accounting-exception-line{
  align-items:flex-start!important;
}
.receipt-review-card{
  flex-wrap:wrap!important;
}
@media(max-width:1280px){
  .ledger-pie-layout,.statement-pie-layout{
    grid-template-columns:1fr!important;
  }
  .ledger-pie-layout canvas,.statement-pie-canvas{
    margin:auto!important;
  }
}
@media(max-width:760px){
  .ledger-mini-grid,.ledger-chart-grid,.statement-chart-grid{
    grid-template-columns:1fr!important;
  }
}

/* System settings master data stays a flat, scannable list on every viewport. */
#pg-settings .settings-flat-panel{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#pg-settings .settings-flat-head{
  min-height:52px;
  padding:10px 0;
  border-bottom:2px solid #d9c4a8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  background:transparent;
}
#pg-settings .settings-flat-title{
  color:#3d2b1f;
  font-size:15px;
  font-weight:800;
}
#pg-settings .settings-flat-subtitle{
  margin-top:3px;
  color:#7a6a5a;
  font-size:11px;
  line-height:1.5;
}
#pg-settings .settings-flat-runtime{
  padding:8px 0!important;
  border-bottom:1px solid #eadfce;
}
#pg-settings .settings-flat-notice{
  padding:10px 0;
  border-bottom:1px solid #e5d8c6;
  color:#6a5840;
  font-size:11px;
  line-height:1.6;
  background:transparent;
}
#pg-settings .settings-change-reason{margin-top:8px}
#pg-settings .settings-list-scroll{
  width:100%;
  overflow-x:auto;
  border-bottom:1px solid #d9c4a8;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
#pg-settings .settings-list-table{
  width:100%;
  border-collapse:collapse!important;
  border-spacing:0!important;
}
#pg-settings .settings-entity-list{min-width:1080px}
#pg-settings .settings-department-list{min-width:1480px}
#pg-settings .settings-account-list{min-width:760px}
#pg-settings .settings-list-table th{
  position:sticky;
  top:0;
  z-index:1;
  padding:9px 10px!important;
  border-bottom:1px solid #d9c4a8!important;
  background:#f7f3ed!important;
  color:#6f5b47!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
#pg-settings .settings-list-table td{
  padding:7px 10px!important;
  border-bottom:1px solid #eee5d9!important;
  background:#fff!important;
  font-size:12px!important;
}
#pg-settings .settings-list-table tbody tr:nth-child(even) td{background:#fcfaf7!important}
#pg-settings .settings-list-table tbody tr:hover td{background:#fff7eb!important}
#pg-settings .settings-list-table tbody tr:last-child td{border-bottom:0!important}
#pg-settings .settings-list-table input:not([type="checkbox"]):not([type="color"]),
#pg-settings .settings-list-table select{
  min-height:34px!important;
  padding:5px 8px!important;
  border-radius:4px!important;
  font-size:12px!important;
}
#pg-settings .settings-list-table .btn-g{border-radius:4px!important}

/* System health uses flat list sections instead of stacked cards. */
#pg-health .health-summary-list{
  margin-bottom:14px;
  border-top:2px solid #d9c4a8;
  border-bottom:1px solid #ead8c2;
  background:#fff;
}
#pg-health .health-summary-head,
#pg-health .health-summary-row{
  display:grid;
  grid-template-columns:minmax(120px,.55fr) minmax(120px,.45fr) minmax(240px,1.5fr);
  gap:14px;
  align-items:center;
}
#pg-health .health-summary-head{
  padding:9px 14px;
  background:#fff8ed;
  border-bottom:1px solid #ead8c2;
  color:#8b7358;
  font-size:11px;
  font-weight:800;
}
#pg-health .health-summary-row{
  min-height:48px;
  padding:9px 14px;
  border-bottom:1px solid #f0e6d6;
  color:#475569;
  font-size:12px;
}
#pg-health .health-summary-row:last-child{border-bottom:0}
#pg-health .health-summary-row:nth-child(odd){background:#fcfaf7}
#pg-health .health-summary-row.is-fail{background:#fff1f2}
#pg-health .health-summary-row.is-warn{background:#fff8ed}
#pg-health .health-summary-row strong{color:#263244;font-size:16px}
#pg-health .health-summary-row.is-fail strong{color:#8a1010}
#pg-health .health-summary-label{display:flex;align-items:center;gap:8px;font-weight:800;color:#334155}
#pg-health .health-summary-detail{color:#7a6a5a;line-height:1.5}
#pg-health .health-status-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;flex:0 0 auto}
#pg-health .health-status-dot.fail{background:#c02020}
#pg-health .health-status-dot.warn{background:#d97706}
#pg-health .health-status-dot.ok{background:#2a9040}
#pg-health .health-flat-notice{
  margin-bottom:14px;
  padding:10px 0 11px;
  border-top:1px solid #ead8c2;
  border-bottom:1px solid #ead8c2;
  color:#64748b;
  font-size:12px;
  line-height:1.7;
}
.health-flat-section{
  margin-bottom:16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.health-flat-head{
  min-height:54px;
  padding:10px 0;
  border-bottom:2px solid #d9c4a8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.health-flat-title{font-size:15px;font-weight:850;color:#3d2b1f}
.health-flat-subtitle{margin-top:3px;color:#7a6a5a;font-size:11px;line-height:1.5}
.health-flat-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.health-flat-actions .btn-g,
.health-flat-actions .btn-s{font-size:10px;padding:4px 8px;border-radius:4px!important}
.health-list-scroll{overflow-x:auto;border-bottom:1px solid #ead8c2}
.health-list-table{
  display:table!important;
  width:100%!important;
  min-width:860px!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  background:#fff;
}
#pg-health .health-list-table{
  width:100%!important;
  min-width:860px!important;
  table-layout:auto!important;
}
.health-list-table thead{display:table-header-group!important}
.health-list-table tbody{display:table-row-group!important}
.health-list-table tr{
  display:table-row!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.health-list-table th{
  display:table-cell!important;
  padding:9px 11px!important;
  background:#fff8ed!important;
  border-bottom:1px solid #ead8c2!important;
  color:#8b7358!important;
  font-size:11px!important;
  font-weight:800!important;
  text-align:left;
  white-space:nowrap;
}
.health-list-table td{
  display:table-cell!important;
  padding:10px 11px!important;
  border-bottom:1px solid #f0e6d6!important;
  color:#475569;
  font-size:11px;
  vertical-align:top;
}
.health-list-table td::before,
.health-list-table td:empty::after{content:none!important;display:none!important}
#pg-health .health-list-table th,
#pg-health .health-list-table td{
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
#pg-health .health-list-table th:nth-child(1),
#pg-health .health-list-table td:nth-child(1){min-width:120px;word-break:keep-all!important}
#pg-health .health-list-table th:nth-child(2),
#pg-health .health-list-table td:nth-child(2){min-width:150px}
#pg-health .health-list-table th:nth-child(3),
#pg-health .health-list-table td:nth-child(3){min-width:100px}
#pg-health .health-list-table .health-result-cell{min-width:360px!important}
.health-list-table tbody tr:nth-child(even) td{background:#fcfaf7!important}
.health-list-table tbody tr:hover td{background:#fff7eb!important}
.health-list-table tbody tr:last-child td{border-bottom:0!important}
.health-list-table .health-row-fail td{background:#fff5f6!important}
.health-list-table .health-row-warn td{background:#fffaf2!important}
.health-item-name{font-size:12px;font-weight:800;color:#334155;line-height:1.45}
.health-item-code{margin-top:2px;color:#94a3b8;font-size:10px;overflow-wrap:anywhere}
.health-result-cell{min-width:320px;color:#64748b!important;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.health-runbook-table th:nth-child(1){width:22%}
.health-runbook-table th:nth-child(2){width:110px}
.health-event-table{min-width:1080px}
.health-event-table th:nth-child(1){width:250px}
.health-event-table th:nth-child(2),
.health-event-table th:nth-child(3){width:110px}
.health-event-table th:nth-child(5){width:170px}
.health-event-id{color:#a08060!important;font-size:10px!important;overflow-wrap:anywhere}
.health-remote-error{margin-top:3px;color:#8a1010}
.health-row-action{margin-top:6px;font-size:10px!important;padding:3px 7px!important;border-radius:4px!important}
.health-empty-row{padding:22px 10px!important;text-align:center;color:#94a3b8;font-size:12px}
@media(max-width:760px){
  #pg-settings .settings-flat-head{align-items:flex-start}
  #pg-settings .settings-list-scroll{margin-inline:0}
  #pg-settings .settings-list-table{
    display:table!important;
    width:100%!important;
  }
  #pg-settings .settings-list-table thead{display:table-header-group!important}
  #pg-settings .settings-list-table tbody{display:table-row-group!important}
  #pg-settings .settings-list-table tr{display:table-row!important}
  #pg-settings .settings-list-table th,
  #pg-settings .settings-list-table td{display:table-cell!important}
  #pg-settings .settings-list-table td::before{content:none!important}
  #pg-health .health-summary-head{display:none}
  #pg-health .health-summary-row{
    grid-template-columns:minmax(110px,.8fr) minmax(90px,.55fr);
    gap:5px 10px;
    padding:10px 8px;
  }
  #pg-health .health-summary-detail{grid-column:1 / -1;padding-left:17px}
  .health-flat-head{align-items:flex-start}
  .health-list-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Executive dashboard: dense decision view built from continuous bands and tables. */
#pg-dashboard{--dash-ink:#33291f;--dash-muted:#806f5f;--dash-line:#ead8c2;--dash-soft:#fff8ed;--dash-green:#246b45;--dash-red:#a32222;--dash-blue:#346a8a}
#pg-dashboard .ph{font-size:28px!important;line-height:1.2!important}
#dash-executive{background:#fff;border:1px solid var(--dash-line);border-radius:8px;overflow:hidden}
.dash-query-bar{
  display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:13px 15px;
  background:#fffaf3;border-bottom:1px solid var(--dash-line)
}
.dash-query-group{display:flex;flex-direction:column;gap:5px;min-width:132px}
.dash-query-group label{font-size:10px;font-weight:800;color:var(--dash-muted)}
.dash-query-group input,.dash-query-group select{height:36px;min-width:132px;border-radius:6px;background:#fff}
.dash-query-entity{flex:1;min-width:210px;max-width:360px}
.dash-query-range{display:flex;align-items:flex-end;gap:8px}
.dash-query-group[hidden],.dash-query-range[hidden]{display:none!important}
.dash-query-range>span{height:36px;display:flex;align-items:center;color:#a08060;font-size:11px}
.dash-segmented{display:grid;grid-template-columns:repeat(2,72px);height:36px;border:1px solid #d9c3a7;border-radius:6px;overflow:hidden;background:#fff}
.dash-segmented button{border:0;border-right:1px solid #e7d7c2;background:#fff;color:#715d49;font-size:11px;font-weight:800;cursor:pointer}
.dash-segmented button:last-child{border-right:0}
.dash-segmented button.on{background:#7c3f00;color:#fff}
.dash-reset{height:36px;white-space:nowrap}
.dash-query-error:empty{display:none}
.dash-query-error{padding:8px 15px;border-bottom:1px solid #efb4b4;background:#fff1f1;color:var(--dash-red);font-size:11px}
.dash-verdict-band{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;
  background:#fff;border-bottom:1px solid var(--dash-line)
}
.dash-section-kicker{font-size:10px;font-weight:900;color:#a16a27;margin-bottom:5px}
.dash-verdict-title{max-width:980px;color:var(--dash-ink);font-size:18px;font-weight:900;line-height:1.5}
.dash-verdict-sub{margin-top:4px;color:var(--dash-muted);font-size:11px;line-height:1.6}
.dash-kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--dash-line);background:#fff}
.dash-kpi{min-width:0;padding:15px 18px;border-right:1px solid var(--dash-line)}
.dash-kpi:last-child{border-right:0}
.dash-kpi-label{color:var(--dash-muted);font-size:10px;font-weight:800}
.dash-kpi-value{margin-top:6px;color:var(--dash-ink);font-size:22px;font-weight:900;line-height:1.15;overflow-wrap:anywhere}
.dash-kpi-value.expense{color:#8a5220}
.dash-kpi-value.loss,.dash-metric-table .loss,.dash-trend-net.loss,.dash-modal-summary .loss{color:var(--dash-red)!important}
.dash-kpi-foot{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:7px;color:#948373;font-size:10px}
.dash-delta{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:4px;background:#f1ede8;color:#6f6255;font-size:10px;font-weight:900;white-space:nowrap}
.dash-delta.good{background:#e5f3e9;color:var(--dash-green)}
.dash-delta.bad{background:#fce8e8;color:var(--dash-red)}
.dash-section{padding:20px;border-bottom:1px solid var(--dash-line);background:#fff}
.dash-section:last-child{border-bottom:0}
.dash-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.dash-section-head h2{margin:0;color:var(--dash-ink);font-size:15px;font-weight:900;letter-spacing:0;line-height:1.35}
.dash-section-meta{color:var(--dash-muted);font-size:10px;line-height:1.5}
.dash-reconciliation{background:#fffdf9}
.dash-recon-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;border:1px solid var(--dash-line);border-radius:6px;background:#fff}
.dash-recon-summary>div{min-width:0;padding:12px 14px;border-right:1px solid var(--dash-line)}
.dash-recon-summary>div:last-child{border-right:0}
.dash-recon-summary span,.dash-recon-summary small{display:block;color:var(--dash-muted);font-size:10px;line-height:1.45}
.dash-recon-summary strong{display:block;margin:4px 0;color:var(--dash-ink);font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dash-recon-summary strong.warn{color:#97621d}.dash-recon-summary strong.bad{color:var(--dash-red)}
.dash-recon-table{min-width:720px}
.dash-recon-table th:nth-child(2),.dash-recon-table th:nth-child(3),.dash-recon-table td:nth-child(2),.dash-recon-table td:nth-child(3){text-align:right}
.dash-recon-table td:last-child{max-width:420px;white-space:normal;line-height:1.5;color:#7d6c5b}
.dash-recon-table tr.total td{border-top:2px solid #d9c3a7;background:#fffaf3;font-weight:900}
.dash-recon-table tr.exception td{background:#fff8f1}
.dash-recon-exceptions{margin-top:10px}
.dash-recon-exception{display:grid;grid-template-columns:5px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid #f0e6da}
.dash-recon-exception:last-child{border-bottom:0}
.dash-recon-exception>i{display:block;width:4px;height:28px;border-radius:2px;background:#c6872d}
.dash-recon-exception strong,.dash-recon-exception span{display:block;line-height:1.45}
.dash-recon-exception strong{color:#4b3e32;font-size:10px}.dash-recon-exception span{color:#8d7b69;font-size:9px}
.dash-recon-exception b{color:#4b3e32;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
.dash-recon-loading{padding:13px;border:1px dashed #d9c3a7;border-radius:6px;color:#7d6c5b;font-size:11px;line-height:1.6;background:#fffaf3}
.dash-chart-legend{display:flex;align-items:center;gap:12px;color:var(--dash-muted);font-size:10px;font-weight:800}
.dash-chart-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.dash-chart-legend span::before{content:"";width:8px;height:8px;border-radius:2px;background:#c8b5a0}
.dash-chart-legend .income::before{background:#3d7f5b}
.dash-chart-legend .expense::before{background:#d39a4b}
.dash-chart-legend .net::before{background:#4f7895}
.dash-trend-chart{display:flex;align-items:flex-end;gap:14px;min-height:210px;padding:12px 4px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid #e7d9c8}
.dash-trend-month{flex:1 0 82px;min-width:82px;text-align:center}
.dash-trend-bars{height:158px;display:flex;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid #d8c5ae}
.dash-trend-bar{width:14px;min-height:0;border-radius:2px 2px 0 0;background:#4f7895}
.dash-trend-bar.income{background:#3d7f5b}
.dash-trend-bar.expense{background:#d39a4b}
.dash-trend-bar.net{background:#4f7895}
.dash-trend-bar.negative{background:#b84343}
.dash-trend-label{margin-top:6px;color:#786858;font-size:10px;font-weight:800}
.dash-trend-net{margin-top:2px;color:#465668;font-size:9px;font-weight:800;white-space:nowrap}
.dash-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--dash-line);border-radius:6px}
.dash-metric-table{width:100%;min-width:820px;border-collapse:collapse;background:#fff}
.dash-metric-table th{padding:9px 11px;border-bottom:1px solid var(--dash-line);background:var(--dash-soft);color:#776552;font-size:10px;font-weight:900;text-align:left;white-space:nowrap}
.dash-metric-table th:not(:first-child),.dash-metric-table td.money{text-align:right}
.dash-metric-table td{padding:10px 11px;border-bottom:1px solid #f1e6d8;color:#4c4136;font-size:11px;vertical-align:middle;white-space:nowrap}
.dash-metric-table tbody tr:last-child td{border-bottom:0}
.dash-metric-table tbody tr:hover td{background:#fffaf4}
.dash-metric-table th button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.dash-metric-table th button.on{color:#7c3f00}
.dash-metric-table th button.on::after{content:"\2193";font-size:10px}
.dash-metric-table th button.on[data-dir="asc"]::after{content:"\2191"}
.dash-metric-table .money{font-variant-numeric:tabular-nums;font-weight:750}
.dash-metric-table .income,.dash-metric-table .profit{color:var(--dash-green)}
.dash-metric-table .expense{color:#8a5220}
.dash-row-link{display:inline-flex;align-items:center;gap:7px;max-width:360px;padding:0;border:0;background:transparent;color:#3d3329;font-size:11px;font-weight:850;text-align:left;cursor:pointer;white-space:normal}
.dash-row-link>span{width:3px;height:22px;flex:0 0 3px;border-left:3px solid #9d8c78}
.dash-row-primary{max-width:390px;color:#3d3329;font-weight:800;white-space:normal;line-height:1.45}
.dash-empty{padding:20px 10px;color:#948373;font-size:11px;text-align:center;line-height:1.6}
.dash-ar-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--dash-line);border-bottom:1px solid var(--dash-line)}
.dash-ar-summary>div{padding:13px 16px;border-right:1px solid var(--dash-line)}
.dash-ar-summary>div:last-child{border-right:0}
.dash-ar-summary span,.dash-ar-summary small{display:block;color:var(--dash-muted);font-size:10px}
.dash-ar-summary strong{display:block;margin:4px 0;color:var(--dash-ink);font-size:18px;font-weight:900}
.dash-ar-summary strong.warn{color:#97621d}.dash-ar-summary strong.bad{color:var(--dash-red)}
.dash-aging-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px 0;border-bottom:1px solid var(--dash-line)}
.dash-aging-grid>div>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#615346;font-size:10px}
.dash-aging-grid strong{font-variant-numeric:tabular-nums}
.dash-aging-grid small{display:block;margin-top:4px;color:#948373;font-size:9px}
.dash-aging-track{height:5px;margin-top:7px;border-radius:2px;background:#eee6dc;overflow:hidden}
.dash-aging-track span{display:block;height:100%;background:#b9762d}
.dash-action-list{display:flex;flex-direction:column}
.dash-list-title{padding:14px 0 7px;color:#6f5d4c;font-size:10px;font-weight:900}
.dash-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid #f0e6da}
.dash-action-row:last-child{border-bottom:0}
.dash-action-row>div{min-width:0}
.dash-action-row strong,.dash-action-row span{display:block}
.dash-action-row strong{color:#40362c;font-size:11px;line-height:1.45}
.dash-action-row span{margin-top:2px;color:#897866;font-size:10px;line-height:1.5}
.dash-action-row>b{color:#40362c;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.dash-action-row.high,.dash-action-row.warn,.dash-action-row.info{grid-template-columns:5px minmax(0,1fr) auto}
.dash-risk-mark{width:4px;height:32px;border-radius:2px;background:#6f8c75}
.dash-action-row.high .dash-risk-mark{background:#b83232}
.dash-action-row.warn .dash-risk-mark{background:#c6872d}
.dash-action-row.info .dash-risk-mark{background:#4c7c98}
.dash-status-button{border:0;cursor:pointer;white-space:normal;text-align:left}
.dash-work-section{margin-top:12px;border:1px solid var(--dash-line);border-radius:6px;background:#fff}
.dash-work-section>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;color:#44382e;font-size:12px;font-weight:900}
.dash-work-section>summary span:last-child{color:#92806d;font-size:10px;font-weight:700;text-align:right}
.dash-work-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:18px;padding:0 14px 14px;border-top:1px solid var(--dash-line)}
.dash-work-grid>div{min-width:0;padding-top:14px}
.dash-work-title{margin-bottom:8px;color:#5e4e3f;font-size:11px;font-weight:900}
.dash-notif-row{display:grid;grid-template-columns:4px minmax(0,1fr);gap:9px;padding:9px 0;border-bottom:1px solid #f0e6da;cursor:pointer}
.dash-notif-row>span{width:4px;height:26px;border-radius:2px;background:#c77921}
.dash-notif-row strong,.dash-notif-row small{display:block;line-height:1.5}
.dash-notif-row strong{color:#44382e;font-size:10px}.dash-notif-row small{color:#9a8876;font-size:9px}
.dash-modal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--dash-line);border-bottom:1px solid var(--dash-line)}
.dash-modal-summary>div{padding:12px;border-right:1px solid var(--dash-line)}
.dash-modal-summary>div:last-child{border-right:0}
.dash-modal-summary span,.dash-modal-summary strong{display:block}.dash-modal-summary span{color:#8a7968;font-size:10px}.dash-modal-summary strong{margin-top:4px;color:#3f352b;font-size:16px}
.dash-modal-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:15px 0}
.dash-modal-breakdown h3{margin:0 0 7px;color:#4a3e32;font-size:11px}
.dash-modal-breakdown p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:7px 0;border-bottom:1px solid #f0e6da;color:#69594a;font-size:10px}
.dash-modal-ledger>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0e6da;color:#53473b;font-size:10px}
.dash-modal-ledger small{display:block;margin-top:2px;color:#958370}

@media(max-width:1100px){
  .dash-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dash-kpi:nth-child(3){border-right:0}
  .dash-kpi:nth-child(-n+3){border-bottom:1px solid var(--dash-line)}
  .dash-kpi:nth-child(5){border-right:0}
  .dash-aging-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dash-recon-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-recon-summary>div:nth-child(2){border-right:0}.dash-recon-summary>div:nth-child(-n+2){border-bottom:1px solid var(--dash-line)}
}
@media(max-width:760px){
  #pg-dashboard{padding-bottom:76px}
  #pg-dashboard .ph{font-size:24px!important}
  #dash-executive{border-radius:6px}
  .dash-query-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;padding:12px;gap:9px}
  .dash-query-group,.dash-query-entity{min-width:0;max-width:none}
  .dash-query-group input,.dash-query-group select{width:100%;min-width:0;height:40px}
  .dash-segmented{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));height:40px}
  .dash-query-range{grid-column:1 / -1;display:grid!important;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:end;gap:5px}
  .dash-query-range>span{justify-content:center;height:40px}
  .dash-reset{width:100%;height:40px}
  .dash-verdict-band{padding:15px 13px;align-items:flex-start}
  .dash-verdict-title{font-size:15px}
  .dash-recon-summary{grid-template-columns:1fr}
  .dash-recon-summary>div{border-right:0;border-bottom:1px solid var(--dash-line)}
  .dash-recon-summary>div:last-child{border-bottom:0}
  .dash-verdict-band>.badge{flex:0 0 auto}
  .dash-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-kpi{padding:13px 12px;border-right:1px solid var(--dash-line);border-bottom:1px solid var(--dash-line)!important}
  .dash-kpi:nth-child(even){border-right:0}
  .dash-kpi:last-child{grid-column:1 / -1;border-right:0;border-bottom:0!important}
  .dash-kpi-value{font-size:18px}
  .dash-section{padding:16px 12px}
  .dash-section-head{align-items:flex-start;gap:10px}
  .dash-chart-legend{gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .dash-trend-chart{gap:8px;min-height:205px}
  .dash-trend-month{flex-basis:74px;min-width:74px}
  .dash-table-wrap{overflow-x:auto!important}
  #pg-dashboard table.dash-metric-table{display:table!important;width:100%!important;min-width:760px!important;table-layout:auto!important}
  #pg-dashboard table.dash-metric-table thead{display:table-header-group!important}
  #pg-dashboard table.dash-metric-table tbody{display:table-row-group!important}
  #pg-dashboard table.dash-metric-table tr{display:table-row!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
  #pg-dashboard table.dash-metric-table th,#pg-dashboard table.dash-metric-table td{display:table-cell!important;width:auto!important;max-width:none!important;white-space:nowrap!important}
  #pg-dashboard table.dash-metric-table td:first-child{min-width:190px;white-space:normal!important}
  #pg-dashboard table.dash-metric-table td::before{content:none!important;display:none!important}
  .dash-ar-summary{grid-template-columns:1fr}
  .dash-ar-summary>div{border-right:0;border-bottom:1px solid var(--dash-line)}
  .dash-ar-summary>div:last-child{border-bottom:0}
  .dash-aging-grid{grid-template-columns:1fr}
  .dash-action-row{grid-template-columns:minmax(0,1fr) auto}
  .dash-action-row.high,.dash-action-row.warn,.dash-action-row.info{grid-template-columns:4px minmax(0,1fr)}
  .dash-action-row.high>button,.dash-action-row.warn>button,.dash-action-row.info>button{grid-column:2;justify-self:start}
  .dash-work-grid{grid-template-columns:1fr;padding:0 12px 12px}
  .dash-work-section>summary{align-items:flex-start}
  .dash-modal-summary,.dash-modal-breakdown{grid-template-columns:1fr}
  .dash-modal-summary>div{border-right:0;border-bottom:1px solid var(--dash-line)}
  .dash-modal-summary>div:last-child{border-bottom:0}
  .dash-modal-ledger>div{grid-template-columns:minmax(0,1fr) auto}
  .dash-modal-ledger>div>button{grid-column:1 / -1;justify-self:start}
}

/* Executive dashboard v2: calm, decision-first, and independent from accounting calculations. */
#pg-dashboard{
  --dash-ink:#202a33;
  --dash-strong:#111827;
  --dash-muted:#667481;
  --dash-subtle:#8a96a1;
  --dash-line:#dfe5e9;
  --dash-soft:#f6f8f9;
  --dash-canvas:#eef2f4;
  --dash-brand:#c65f08;
  --dash-green:#157a57;
  --dash-red:#b42318;
  --dash-blue:#2563a6;
  --dash-amber:#ad6500;
  color:var(--dash-ink);
}
#pg-dashboard .ph{color:var(--dash-strong);font-size:30px!important;line-height:1.2!important;letter-spacing:0!important}
#pg-dashboard .ps{margin-top:5px;color:var(--dash-muted)!important;font-size:12px!important}
.dash-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.dash-page-meta{display:flex;align-items:center;gap:10px;min-height:36px;color:var(--dash-muted);font-size:11px;font-weight:750}
#dash-data-freshness{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
#dash-data-freshness::before{content:"";width:7px;height:7px;border-radius:50%;background:#9aa5ad}
#dash-data-freshness.ok::before{background:var(--dash-green)}
#dash-data-freshness.warn{color:var(--dash-red)}
#dash-data-freshness.warn::before{background:var(--dash-red)}
#dash-data-freshness.loading::before{background:var(--dash-blue);animation:dash-pulse 1.3s ease-in-out infinite}
@keyframes dash-pulse{0%,100%{opacity:.35}50%{opacity:1}}
.dash-filter-toggle{display:none!important}
#dash-executive{background:#fff;border:1px solid var(--dash-line);border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(17,24,39,.04)}
.dash-mobile-query-summary{display:none}
.dash-query-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px 18px;background:var(--dash-soft);border-bottom:1px solid var(--dash-line)}
.dash-query-group{display:flex;flex-direction:column;gap:5px;min-width:130px}
.dash-query-group label{color:var(--dash-muted);font-size:10px;font-weight:800}
.dash-query-group input,.dash-query-group select{height:38px;min-width:130px;border:1px solid #cfd7dc;border-radius:6px;background:#fff;color:var(--dash-ink);font-size:12px}
.dash-query-group input:focus,.dash-query-group select:focus{border-color:var(--dash-blue);box-shadow:0 0 0 3px rgba(37,99,166,.12);outline:0}
.dash-query-entity{flex:1;min-width:220px;max-width:380px}
.dash-query-range{display:flex;align-items:flex-end;gap:8px}
.dash-query-group[hidden],.dash-query-range[hidden]{display:none!important}
.dash-query-range>span{height:38px;display:flex;align-items:center;color:var(--dash-subtle);font-size:11px}
.dash-segmented{display:grid;grid-template-columns:repeat(2,74px);height:38px;border:1px solid #cfd7dc;border-radius:6px;overflow:hidden;background:#fff}
.dash-segmented button{border:0;border-right:1px solid var(--dash-line);background:#fff;color:#52606b;font-size:11px;font-weight:850;cursor:pointer}
.dash-segmented button:last-child{border-right:0}
.dash-segmented button.on{background:#263746;color:#fff}
.dash-reset{height:38px;border-color:#cfd7dc!important;background:#fff!important;color:#3c4a55!important;white-space:nowrap}
.dash-query-error:empty{display:none}
.dash-query-error{padding:9px 18px;border-bottom:1px solid #f2b8b5;background:#fff1f0;color:var(--dash-red);font-size:11px}
.dash-verdict-band{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:23px 24px 20px;background:#fff;border-bottom:1px solid var(--dash-line)}
.dash-verdict-copy{min-width:0}
.dash-section-kicker{margin-bottom:5px;color:var(--dash-blue);font-size:10px;font-weight:900;letter-spacing:0}
.dash-verdict-title{max-width:900px;color:var(--dash-strong);font-size:28px;font-weight:900;line-height:1.25;letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dash-verdict-sub{margin-top:7px;color:#52606b;font-size:12px;line-height:1.55}
.dash-verdict-points{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-top:14px}
.dash-verdict-points span{display:inline-flex;align-items:center;gap:7px;margin-right:13px;padding-right:13px;border-right:1px solid var(--dash-line);color:#52606b;font-size:11px;font-weight:750;line-height:1.4}
.dash-verdict-points span:last-child{margin-right:0;padding-right:0;border-right:0}
.dash-verdict-points i{width:7px;height:7px;border-radius:50%;background:var(--dash-blue);flex:0 0 7px}
.dash-verdict-points .good i{background:var(--dash-green)}
.dash-verdict-points .warn i{background:var(--dash-amber)}
.dash-verdict-points .bad{color:#8f2119}.dash-verdict-points .bad i{background:var(--dash-red)}
.dash-verdict-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:0 0 auto}
.dash-verdict-status small{color:var(--dash-subtle);font-size:9px;white-space:nowrap}
.dash-kpi-strip{display:grid;grid-template-columns:1.22fr repeat(4,minmax(0,1fr));border-bottom:1px solid var(--dash-line);background:#fff}
.dash-kpi{min-width:0;padding:17px 18px;border-right:1px solid var(--dash-line);border-bottom:0!important;background:#fff}
.dash-kpi:last-child{border-right:0}
.dash-kpi-net{padding-left:21px;border-left:3px solid var(--dash-blue);background:#f5f8fb}
.dash-kpi-label{color:var(--dash-muted);font-size:10px;font-weight:850}
.dash-kpi-value{margin-top:6px;color:var(--dash-strong);font-size:22px;font-weight:900;line-height:1.15;letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dash-kpi-net .dash-kpi-value{font-size:26px}
.dash-kpi-value.expense{color:#995216}
.dash-kpi-value.loss,.dash-metric-table .loss,.dash-trend-detail .loss,.dash-mobile-net .loss,.dash-modal-summary .loss{color:var(--dash-red)!important}
.dash-kpi-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;color:var(--dash-subtle);font-size:9px}
.dash-delta{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:4px;background:#eef1f3;color:#596772;font-size:9px;font-weight:850;white-space:nowrap}
.dash-delta.good{background:#e4f2eb;color:var(--dash-green)}
.dash-delta.bad{background:#fde8e7;color:var(--dash-red)}
.dash-decision-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.8fr);border-bottom:1px solid var(--dash-line);background:#fff}
.dash-section{padding:21px 22px;border-bottom:1px solid var(--dash-line);background:#fff}
.dash-section:last-child{border-bottom:0}
.dash-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}
.dash-section-head h2,.dash-recon-toggle h2{margin:0;color:var(--dash-strong);font-size:15px;font-weight:900;letter-spacing:0;line-height:1.35}
.dash-section-meta{color:var(--dash-muted);font-size:10px;line-height:1.5}
.dash-trend-section{min-width:0;border-right:1px solid var(--dash-line);border-bottom:0;padding-bottom:17px}
.dash-chart-legend{display:flex;align-items:center;gap:11px;color:var(--dash-muted);font-size:10px;font-weight:800}
.dash-chart-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.dash-chart-legend span::before{content:"";width:9px;height:3px;border-radius:2px;background:#9aa5ad}
.dash-chart-legend .income::before{background:var(--dash-green)}
.dash-chart-legend .expense::before{background:#d97706}
.dash-chart-legend .net::before{background:var(--dash-blue)}
.dash-trend-chart{display:block;min-height:330px;padding:0;border:0;overflow:visible}
.dash-trend-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.dash-trend-svg{display:block;width:100%;height:auto;max-height:270px;overflow:visible}
.dash-svg-grid{stroke:#e8edf0;stroke-width:1;vector-effect:non-scaling-stroke}
.dash-svg-zero{stroke:#9aa7b0;stroke-width:1.4;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.dash-svg-line{stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.dash-svg-point{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.dash-svg-point.is-focused{stroke:#202a33;stroke-width:2.5}.dash-svg-point.is-negative{fill:var(--dash-red)}
.dash-svg-label,.dash-svg-month{fill:#7c8993;font-size:9px;font-weight:750;font-family:inherit;letter-spacing:0}
.dash-trend-months{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(58px,1fr);gap:1px;margin-top:2px;border:1px solid var(--dash-line);border-radius:6px;overflow-x:auto;background:var(--dash-line)}
.dash-trend-month{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:58px;min-height:44px;padding:5px 7px;border:0;background:#fff;color:var(--dash-muted);font:inherit;cursor:pointer}
.dash-trend-month:hover,.dash-trend-month.on{background:#eef4f8;color:var(--dash-blue)}
.dash-trend-month:focus-visible{position:relative;z-index:2;outline:2px solid var(--dash-blue);outline-offset:-2px}
.dash-trend-month span{font-size:9px;font-weight:800}.dash-trend-month b{color:#45535e;font-size:9px;font-variant-numeric:tabular-nums}.dash-trend-month b.loss{color:var(--dash-red)}
.dash-trend-detail{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--dash-line);color:var(--dash-muted);font-size:10px}
.dash-trend-detail>strong{margin-right:auto;color:var(--dash-strong);font-size:11px}.dash-trend-detail span{white-space:nowrap}.dash-trend-detail b{margin-left:4px;color:var(--dash-strong);font-variant-numeric:tabular-nums}.dash-trend-detail .income{color:var(--dash-green)}.dash-trend-detail .expense{color:#995216}.dash-trend-detail .profit{color:var(--dash-green)}
.dash-priority-column{display:flex;flex-direction:column;min-width:0;background:#fbfcfd}
.dash-priority-section{padding:19px 20px;border-bottom:1px solid var(--dash-line)}
.dash-priority-section:last-child{border-bottom:0}
.dash-priority-risks{flex:1}
.dash-text-action{padding:2px 0;border:0;background:transparent;color:var(--dash-blue);font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.dash-text-action:hover{text-decoration:underline;text-underline-offset:3px}
.dash-ar-summary{display:block;border:0;background:transparent}
.dash-ar-primary{padding:0 0 13px;border-bottom:1px solid var(--dash-line)}
.dash-ar-primary span,.dash-ar-primary small{display:block;color:var(--dash-muted);font-size:10px}
.dash-ar-primary strong{display:block;margin:5px 0 4px;color:var(--dash-strong);font-size:24px;font-weight:900;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dash-ar-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:12px}
.dash-ar-facts>div{min-width:0;padding-right:10px;border-right:1px solid var(--dash-line)}.dash-ar-facts>div+div{padding-left:10px;padding-right:0;border-right:0}
.dash-ar-facts span,.dash-ar-facts b{display:block}.dash-ar-facts span{color:var(--dash-muted);font-size:9px}.dash-ar-facts b{margin-top:4px;color:var(--dash-strong);font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dash-ar-facts b.warn{color:var(--dash-amber)}.dash-ar-facts b.bad{color:var(--dash-red)}
.dash-action-list{display:flex;flex-direction:column}
.dash-list-title{padding:14px 0 7px;color:#45535e;font-size:10px;font-weight:900}
.dash-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 2px;border-bottom:1px solid #e8edf0}
.dash-action-row:last-child{border-bottom:0}
.dash-action-row>div{min-width:0}.dash-action-row strong,.dash-action-row span,.dash-action-row small{display:block}.dash-action-row strong{color:#2c3740;font-size:11px;line-height:1.4}.dash-action-row span{margin-top:3px;color:var(--dash-muted);font-size:9px;line-height:1.45}.dash-action-row small{margin-top:4px;color:var(--dash-subtle);font-size:9px;line-height:1.4}.dash-action-row>b{color:var(--dash-strong);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.dash-action-row.high,.dash-action-row.warn,.dash-action-row.info{grid-template-columns:4px minmax(0,1fr) auto}
.dash-risk-mark{width:4px;height:34px;border-radius:2px;background:var(--dash-green)}
.dash-action-row.high .dash-risk-mark{background:var(--dash-red)}.dash-action-row.warn .dash-risk-mark{background:var(--dash-amber)}.dash-action-row.info .dash-risk-mark{background:var(--dash-blue)}
.dash-priority-column .dash-action-row .btn-g{min-height:31px;padding:6px 8px;font-size:9px;white-space:nowrap}
.dash-status-button{max-width:145px;border:0;cursor:pointer;white-space:normal;text-align:right;line-height:1.35}
.dash-risk-more{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--dash-line);color:var(--dash-muted);font-size:9px}
.dash-organization{padding-bottom:22px}
.dash-org-tabs{display:grid;grid-template-columns:repeat(2,82px);height:34px;border:1px solid #cfd7dc;border-radius:6px;overflow:hidden;background:#fff}
.dash-org-tabs button{border:0;border-right:1px solid var(--dash-line);background:#fff;color:#596772;font-size:10px;font-weight:850;cursor:pointer}.dash-org-tabs button:last-child{border-right:0}.dash-org-tabs button.on{background:#263746;color:#fff}
.dash-org-panel[hidden]{display:none!important}
.dash-panel-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px}
.dash-panel-meta h3{margin:0;color:#45535e;font-size:11px;font-weight:850;letter-spacing:0}
.dash-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--dash-line);border-radius:6px}
.dash-metric-table{width:100%;min-width:820px;border-collapse:collapse;background:#fff}
.dash-metric-table th{padding:10px 12px;border-bottom:1px solid var(--dash-line);background:#f4f6f7;color:#596772;font-size:10px;font-weight:900;text-align:left;white-space:nowrap}
.dash-metric-table th:not(:first-child),.dash-metric-table td.money{text-align:right}
.dash-metric-table td{padding:11px 12px;border-bottom:1px solid #e8edf0;color:#36424c;font-size:11px;vertical-align:middle;white-space:nowrap}
.dash-metric-table tbody tr:last-child td{border-bottom:0}.dash-metric-table tbody tr:hover td{background:#f7fafb}
.dash-metric-table th button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.dash-metric-table th button.on{color:var(--dash-blue)}.dash-metric-table th button.on::after{content:"\2193";font-size:10px}.dash-metric-table th button.on[data-dir="asc"]::after{content:"\2191"}
.dash-metric-table .money{font-variant-numeric:tabular-nums;font-weight:750}.dash-metric-table .income,.dash-metric-table .profit{color:var(--dash-green)}.dash-metric-table .expense{color:#995216}
.dash-row-link{display:inline-flex;align-items:center;gap:8px;max-width:360px;padding:0;border:0;background:transparent;color:#26323b;font-size:11px;font-weight:850;text-align:left;cursor:pointer;white-space:normal}.dash-row-link>span{width:3px;height:22px;flex:0 0 3px;border-left:3px solid #84919b}.dash-row-primary{max-width:390px;color:#2c3740;font-weight:800;white-space:normal;line-height:1.45}
.dash-mobile-performance{display:none}
.dash-aging-grid{display:block;padding:0;border:0}
.dash-aging-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.dash-aging-head>div strong,.dash-aging-head>div span{display:block}.dash-aging-head strong{color:var(--dash-strong);font-size:12px}.dash-aging-head span,.dash-aging-head small{margin-top:3px;color:var(--dash-muted);font-size:9px}
.dash-aging-stack{display:flex;width:100%;height:14px;border-radius:4px;overflow:hidden;background:#e8edf0}.dash-aging-stack span{display:block;height:100%;min-width:0;transition:width .2s ease}.dash-aging-stack span:first-child{border-radius:4px 0 0 4px}.dash-aging-stack span:last-child{border-radius:0 4px 4px 0}
.dash-aging-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:14px;border-top:1px solid var(--dash-line);border-bottom:1px solid var(--dash-line)}
.dash-aging-legend>div{position:relative;min-width:0;padding:12px 10px;border-right:1px solid var(--dash-line)}.dash-aging-legend>div:last-child{border-right:0}.dash-aging-legend i{display:block;width:18px;height:4px;margin-bottom:7px;border-radius:2px}.dash-aging-legend span,.dash-aging-legend strong,.dash-aging-legend small{display:block}.dash-aging-legend span{color:var(--dash-muted);font-size:9px}.dash-aging-legend strong{margin-top:4px;color:var(--dash-strong);font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dash-aging-legend small{margin-top:3px;color:var(--dash-subtle);font-size:8px}
.dash-ar-row-value{display:flex;align-items:flex-end!important;flex-direction:column;gap:5px}.dash-ar-row-value b{color:var(--dash-strong);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.dash-ar-row-value .badge{margin:0}
.dash-reconciliation{padding:0;background:#fff}
.dash-reconciliation.has-warning{box-shadow:inset 4px 0 0 var(--dash-red)}
.dash-recon-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;cursor:pointer;list-style:none}.dash-recon-toggle::-webkit-details-marker{display:none}.dash-recon-toggle::after{content:"+";display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:2px;border:1px solid #cfd7dc;border-radius:50%;color:#52606b;font-size:18px;font-weight:500;line-height:1;flex:0 0 28px}.dash-reconciliation[open] .dash-recon-toggle::after{content:"\2212"}.dash-recon-toggle>div:first-child{min-width:0;flex:1}.dash-recon-toggle>div:last-of-type{margin-left:auto}.dash-recon-toggle #dash-recon-hint{display:block;margin-top:4px;color:var(--dash-muted);font-size:10px;line-height:1.45}.dash-recon-toggle:focus-visible{outline:2px solid var(--dash-blue);outline-offset:-3px}
.dash-recon-content{padding:0 22px 21px;border-top:1px solid var(--dash-line)}
.dash-recon-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 14px;border:1px solid var(--dash-line);border-radius:6px;background:#fff}.dash-recon-summary>div{min-width:0;padding:12px 13px;border-right:1px solid var(--dash-line)}.dash-recon-summary>div:last-child{border-right:0}.dash-recon-summary span,.dash-recon-summary small{display:block;color:var(--dash-muted);font-size:9px;line-height:1.45}.dash-recon-summary strong{display:block;margin:4px 0;color:var(--dash-strong);font-size:16px;font-weight:900;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dash-recon-summary strong.warn{color:var(--dash-amber)}.dash-recon-summary strong.bad{color:var(--dash-red)}
.dash-recon-table{min-width:720px}.dash-recon-table th:nth-child(2),.dash-recon-table th:nth-child(3),.dash-recon-table td:nth-child(2),.dash-recon-table td:nth-child(3){text-align:right}.dash-recon-table td:last-child{max-width:420px;white-space:normal;line-height:1.5;color:var(--dash-muted)}.dash-recon-table tr.total td{border-top:2px solid #bdc7ce;background:#f5f8fa;font-weight:900}.dash-recon-table tr.exception td{background:#fff7ed}
.dash-recon-exceptions{margin-top:10px}.dash-recon-exception{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 2px;border-bottom:1px solid #e8edf0}.dash-recon-exception:last-child{border-bottom:0}.dash-recon-exception>i{display:block;width:4px;height:28px;border-radius:2px;background:var(--dash-amber)}.dash-recon-exception strong,.dash-recon-exception span{display:block;line-height:1.45}.dash-recon-exception strong{color:#36424c;font-size:10px}.dash-recon-exception span{color:var(--dash-muted);font-size:9px}.dash-recon-exception b{color:#36424c;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.dash-recon-loading{padding:13px;border:1px dashed #cfd7dc;border-radius:6px;color:var(--dash-muted);font-size:10px;line-height:1.6;background:#f7f9fa}
.dash-empty{padding:22px 10px;color:var(--dash-muted);font-size:10px;text-align:center;line-height:1.6}.dash-empty-state strong,.dash-empty-state span{display:block}.dash-empty-state strong{color:#45535e;font-size:11px}.dash-empty-state span{margin-top:4px}
.dash-work-section{margin-top:12px;border:1px solid var(--dash-line);border-radius:6px;background:#fff}.dash-work-section>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;color:#36424c;font-size:12px;font-weight:900}.dash-work-section>summary span:last-child{color:var(--dash-muted);font-size:10px;font-weight:700;text-align:right}.dash-work-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:18px;padding:0 14px 14px;border-top:1px solid var(--dash-line)}.dash-work-grid>div{min-width:0;padding-top:14px}.dash-work-title{margin-bottom:8px;color:#45535e;font-size:11px;font-weight:900}.dash-notif-row{display:grid;grid-template-columns:4px minmax(0,1fr);gap:9px;padding:9px 0;border-bottom:1px solid #e8edf0;cursor:pointer}.dash-notif-row>span{width:4px;height:26px;border-radius:2px;background:var(--dash-brand)}.dash-notif-row strong,.dash-notif-row small{display:block;line-height:1.5}.dash-notif-row strong{color:#36424c;font-size:10px}.dash-notif-row small{color:var(--dash-subtle);font-size:9px}
#pg-dashboard button:focus-visible,#pg-dashboard summary:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}

@media(max-width:1180px){
  .dash-decision-grid{grid-template-columns:1fr}
  .dash-trend-section{border-right:0;border-bottom:1px solid var(--dash-line)}
  .dash-priority-column{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr)}
  .dash-priority-section{border-right:1px solid var(--dash-line);border-bottom:0}.dash-priority-section:last-child{border-right:0}
  .dash-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-kpi{border-bottom:1px solid var(--dash-line)!important}.dash-kpi:nth-child(3){border-right:0}.dash-kpi:nth-child(n+4){border-bottom:0!important}.dash-kpi:nth-child(5){border-right:0}
  .dash-recon-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-recon-summary>div:nth-child(2){border-right:0}.dash-recon-summary>div:nth-child(-n+2){border-bottom:1px solid var(--dash-line)}
}

@media(max-width:760px){
  #pg-dashboard{padding-bottom:76px}
  #pg-dashboard .ph{font-size:24px!important}
  .dash-page-head{align-items:flex-end;margin-bottom:12px}.dash-page-meta{min-height:0}.dash-page-meta #dash-data-freshness{max-width:148px;white-space:normal;justify-content:flex-end;text-align:right;font-size:9px}
  #dash-executive{border-radius:6px}
  .dash-mobile-query-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:var(--dash-soft);border-bottom:1px solid var(--dash-line)}.dash-mobile-query-summary span,.dash-mobile-query-summary strong{display:block}.dash-mobile-query-summary span{color:var(--dash-muted);font-size:9px}.dash-mobile-query-summary strong{margin-top:2px;color:var(--dash-strong);font-size:11px;line-height:1.4}.dash-mobile-query-summary .btn-g{height:36px;flex:0 0 auto}
  .dash-query-bar{display:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;padding:12px;gap:9px}.dash-query-bar.mobile-open{display:grid}.dash-query-group,.dash-query-entity{min-width:0;max-width:none}.dash-query-group input,.dash-query-group select{width:100%;min-width:0;height:40px}.dash-segmented{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));height:40px}.dash-query-range{grid-column:1 / -1;display:grid!important;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:end;gap:5px}.dash-query-range[hidden]{display:none!important}.dash-query-range>span{justify-content:center;height:40px}.dash-reset{width:100%;height:40px}
  .dash-verdict-band{padding:18px 13px 16px;gap:10px}.dash-verdict-title{font-size:23px;line-height:1.3}.dash-verdict-sub{font-size:10px}.dash-verdict-status small{display:none}.dash-verdict-points{align-items:flex-start;flex-direction:column;gap:7px;margin-top:12px}.dash-verdict-points span{margin:0;padding:0;border:0;font-size:10px}
  .dash-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpi{padding:13px 12px;border-right:1px solid var(--dash-line)!important;border-bottom:1px solid var(--dash-line)!important}.dash-kpi:nth-child(even){border-right:0!important}.dash-kpi-net{grid-column:1 / -1;padding-left:14px;border-left:3px solid var(--dash-blue)!important;border-right:0!important}.dash-kpi:last-child{grid-column:auto;border-bottom:0!important}.dash-kpi:nth-last-child(2){border-bottom:0!important}.dash-kpi-value{font-size:17px}.dash-kpi-net .dash-kpi-value{font-size:23px}.dash-kpi-foot{align-items:flex-start;flex-direction:column;gap:4px}.dash-delta{white-space:normal;line-height:1.35}
  .dash-section{padding:17px 12px}.dash-section-head{align-items:flex-start;gap:9px}.dash-section-head h2{font-size:14px}.dash-chart-legend{gap:7px;flex-wrap:wrap;justify-content:flex-end}.dash-trend-section{padding-bottom:14px}.dash-trend-chart{min-height:0}.dash-trend-scroll{margin:0 -2px;width:calc(100% + 4px)}.dash-trend-svg{width:auto;max-height:250px}.dash-trend-months{grid-auto-columns:58px}.dash-trend-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.dash-trend-detail>strong{grid-column:1 / -1;margin:0}.dash-trend-detail span:last-child{grid-column:1 / -1}
  .dash-priority-column{display:block}.dash-priority-section{padding:17px 12px;border-right:0;border-bottom:1px solid var(--dash-line)}.dash-priority-section:last-child{border-bottom:0}.dash-status-button{max-width:112px;font-size:8px!important}.dash-action-row.high,.dash-action-row.warn,.dash-action-row.info{grid-template-columns:4px minmax(0,1fr)}.dash-action-row.high>button,.dash-action-row.warn>button,.dash-action-row.info>button{grid-column:2;justify-self:start}.dash-risk-more{align-items:flex-start}
  .dash-organization .dash-section-head{align-items:center}.dash-org-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:142px}.dash-panel-meta{align-items:flex-start}.dash-desktop-table{display:none!important}.dash-mobile-performance{display:block;border-top:1px solid var(--dash-line)}
  .dash-mobile-metric{border-bottom:1px solid var(--dash-line);background:#fff}.dash-mobile-metric:last-child{border-bottom:0}.dash-mobile-metric>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 2px;cursor:pointer;list-style:none}.dash-mobile-metric>summary::-webkit-details-marker{display:none}.dash-mobile-metric>summary>div:first-child{min-width:0}.dash-mobile-metric>summary strong{display:block;margin-top:6px;color:#2c3740;font-size:11px;line-height:1.4}.dash-mobile-net{text-align:right}.dash-mobile-net small,.dash-mobile-net b{display:block}.dash-mobile-net small{color:var(--dash-muted);font-size:8px}.dash-mobile-net b{margin:3px 0;color:var(--dash-strong);font-size:13px;font-variant-numeric:tabular-nums}.dash-mobile-net .dash-delta{display:inline-flex}.dash-mobile-metric-body{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px 13px}.dash-mobile-metric-body dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex:1;margin:0}.dash-mobile-metric-body dl>div{min-width:0}.dash-mobile-metric-body dt{color:var(--dash-muted);font-size:8px}.dash-mobile-metric-body dd{margin:3px 0 0;color:var(--dash-strong);font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dash-mobile-metric-body dd.income{color:var(--dash-green)}.dash-mobile-metric-body dd.expense{color:#995216}.dash-mobile-metric-body .btn-g{flex:0 0 auto}
  .dash-aging-head{align-items:flex-start;flex-direction:column;gap:3px}.dash-aging-legend{grid-template-columns:1fr}.dash-aging-legend>div{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 2px;border-right:0;border-bottom:1px solid var(--dash-line)}.dash-aging-legend>div:last-child{border-bottom:0}.dash-aging-legend i{margin:0}.dash-aging-legend span{font-size:9px}.dash-aging-legend strong{text-align:right;font-size:10px}.dash-aging-legend small{grid-column:2 / -1;margin:0;text-align:right}.dash-ar-row{align-items:flex-start}.dash-ar-row-value{align-items:flex-end!important}
  .dash-recon-toggle{align-items:flex-start;padding:16px 12px;gap:8px}.dash-recon-toggle>div:last-of-type{display:none}.dash-recon-toggle::after{width:26px;height:26px;flex-basis:26px}.dash-recon-content{padding:0 12px 17px}.dash-recon-summary{grid-template-columns:1fr}.dash-recon-summary>div{border-right:0;border-bottom:1px solid var(--dash-line)}.dash-recon-summary>div:last-child{border-bottom:0}.dash-table-wrap{overflow-x:auto!important}#pg-dashboard table.dash-metric-table{display:table!important;width:100%!important;min-width:720px!important;table-layout:auto!important}#pg-dashboard table.dash-metric-table thead{display:table-header-group!important}#pg-dashboard table.dash-metric-table tbody{display:table-row-group!important}#pg-dashboard table.dash-metric-table tr{display:table-row!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}#pg-dashboard table.dash-metric-table th,#pg-dashboard table.dash-metric-table td{display:table-cell!important;width:auto!important;max-width:none!important;white-space:nowrap!important}#pg-dashboard table.dash-metric-table td:first-child{min-width:180px;white-space:normal!important}#pg-dashboard table.dash-metric-table td::before{content:none!important;display:none!important}
  .dash-work-grid{grid-template-columns:1fr;padding:0 12px 12px}.dash-work-section>summary{align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){#dash-data-freshness.loading::before{animation:none}.dash-aging-stack span{transition:none}}

@media(min-width:761px) and (max-width:1180px){
  .topbar{flex-wrap:wrap!important;align-content:center!important;gap:8px 10px!important;padding:12px 18px!important}
  #page-title{flex:1 1 210px!important;min-width:210px!important;white-space:normal!important;word-break:keep-all!important}
  #top-info{order:4;flex:1 1 100%;width:100%;font-size:11px!important;line-height:1.4}
  .module-switch-actions{flex:0 0 auto}
}
