.monthly-work-approval-panel{margin-bottom:24px}.monthly-work-approval-panel .table-wrap{overflow:auto}.monthly-work-approval-panel table{min-width:780px}.monthly-work-approval-panel td,.monthly-work-approval-panel th{vertical-align:middle}.approval-progress{font-variant-numeric:tabular-nums;font-weight:800}.approval-complete{color:#237b4b}.approval-items{display:grid;gap:8px;max-height:35vh;overflow:auto;margin:16px 0}.approval-item{padding:10px 12px;border:1px solid var(--m-border);border-radius:10px;background:#f5faf8}.approval-item strong{display:block}.approval-item small{color:var(--m-muted)}.approval-check{display:flex;gap:8px;align-items:flex-start;margin:14px 0;font-weight:700}.monthly-work-approval-panel dialog{max-width:620px;width:calc(100% - 24px)}
/* UI-106：頁面內審核區（核對表＋項目細節抽屜＋審核確認），版面稿 artifacts/ui/ui-106-approval-review-table-and-contract-drawer-v1.html。 */
.monthly-work-approval-review{margin-bottom:24px}
.approval-summary{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.approval-summary-chip{border-radius:999px;padding:3px 12px;background:var(--m-soft);color:var(--m-brand-strong);font-size:.82rem;font-weight:700}
.approval-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.monthly-work-approval-review.has-drawer .approval-stage{grid-template-columns:minmax(0,1fr) 440px}
.approval-review-wrap{overflow:auto}
.approval-review-table{min-width:1180px}
.approval-review-table th,.approval-review-table td{white-space:nowrap;vertical-align:middle}
.approval-review-table td.is-numeric{text-align:right;font-variant-numeric:tabular-nums}
.approval-review-table tr.approval-row--pending td{background:#fbf8f3}
.approval-company{border:0;background:none;padding:2px 4px;margin:-2px -4px;font:inherit;font-weight:800;color:var(--m-brand);text-decoration:underline;cursor:pointer;border-radius:6px}
.approval-company:hover,.approval-company.is-active{background:var(--m-soft)}
.approval-company:focus-visible{outline:3px solid var(--m-brand);outline-offset:2px}
.approval-note-cell{max-width:12em;overflow:hidden;text-overflow:ellipsis}
.approval-chip{display:inline-block;border-radius:999px;padding:1px 10px;font-size:.8rem;font-weight:700}
.approval-chip.is-done{background:#e3f1e8;color:#2f6b4a}
.approval-chip.is-pending{background:#fdf3e3;color:#8a5a12}
.approval-drawer{border:1px solid var(--m-border);border-radius:16px;background:var(--m-surface);box-shadow:var(--m-shadow);padding:16px 18px;max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:16px}
.approval-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.approval-drawer-head h3{margin:2px 0 0;font-size:1.1rem;overflow-wrap:anywhere}
.approval-drawer-nav{display:flex;gap:6px;flex-shrink:0}
.approval-drawer-nav .secondary-button{width:auto;margin:0;padding:6px 10px}
.approval-drawer-section{border-top:1px solid var(--m-border);padding:10px 0 4px}
.approval-drawer-section h4{margin:0 0 6px;font-size:.92rem}
.approval-drawer dl{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:4px 10px;margin:0}
.approval-drawer dt{color:var(--m-muted);font-size:.85rem}
.approval-drawer dd{margin:0;overflow-wrap:anywhere}
.approval-service-list{list-style:none;margin:0;padding:0}
.approval-service-list li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--m-border)}
.approval-service-list li:last-child{border-bottom:0}
.approval-service-meta{white-space:nowrap;font-size:.88rem}
.approval-documents{display:grid;gap:4px}
.approval-drawer-link{margin:12px 0 0}
.approval-confirm{display:grid;gap:10px;margin-top:16px;padding:16px;border:1px solid var(--m-border);border-radius:14px;background:#fafcfb}
.approval-confirm .approval-check{margin:0;align-items:center}
.approval-confirm .approval-check input{width:20px;height:20px;min-height:0;margin:0;flex:0 0 auto}
.approval-confirm .field{margin:0}
.approval-confirm .dialog-actions{display:flex;gap:10px;justify-content:flex-end}
/* 窄螢幕：抽屜改為全螢幕面板（設計稿第 4 節），關閉後回到原本那一列。 */
@media(max-width:1100px){
  .monthly-work-approval-review.has-drawer .approval-stage{grid-template-columns:minmax(0,1fr)}
  .approval-drawer{position:fixed;inset:0;z-index:1100;max-height:none;border-radius:0;top:0}
  body.approval-drawer-open{overflow:hidden}
}
.approval-confirm p:empty,.monthly-work-approval-review > .status:empty{display:none}
.approval-drawer a{color:var(--m-brand);font-weight:700}
.approval-drawer-link{padding-bottom:4px}
.approval-drawer-nav .icon-button{width:36px;height:36px;margin:0}
/* UI-107：管理員免勾選核對的提示、自行審核標記（版面稿 artifacts/ui/ui-107-actual-work-month-and-linkage-v1.html ④⑤）。 */
.approval-admin-note{display:flex;gap:8px;align-items:center;margin:0;padding:8px 12px;border-radius:10px;background:#e3f1e8;color:#2f6b4a;font-weight:700}
.approval-chip.is-admin-self{background:#fdf3e3;color:#8a5a12;white-space:nowrap}
.approval-self-review-note{margin:0}
/* UI-108：審核區的上一區／下一區（同一月份的其他管轄區）。 */
.approval-area-switch{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.approval-area-switch .secondary-button{width:auto;margin:0;padding:6px 14px;min-height:40px}
/* UI-109：逐輪列表（輪次、已撤銷・待重審與撤銷理由、撤銷審核）、審核區撤銷紀錄、擔當作業查詢。 */
.approval-chip.is-revoked{background:#fbe9e7;color:#a3322a}
.approval-chip.is-idle{background:#eef0ef;color:#71807d}
.approval-chip.is-plain{background:none;padding:0;color:inherit;font-weight:700}
.approval-revoke-why{display:block;margin-top:4px;color:var(--m-muted);font-size:.8rem;white-space:normal;max-width:18em;overflow-wrap:anywhere}
.approval-action-cell{white-space:nowrap}
.approval-revoke-button{color:#a3322a;border-color:#f0c9c4}
.approval-revocations{list-style:none;margin:0 0 10px;padding:10px 12px;border:1px solid #f0c9c4;border-radius:12px;background:#fff7f5;display:grid;gap:4px;font-size:.9rem;overflow-wrap:anywhere}
.monthly-page .primary-button.danger-button{background:#a3322a;border-color:#a3322a;color:#fff}
.monthly-page .primary-button.danger-button:not([disabled]):hover{background:#8c2a23;border-color:#8c2a23}
.assignee-query-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:12px 0}
.assignee-query-filters .field{margin:0}
.assignee-query-filters .primary-button{width:auto;margin:0}
.assignee-query-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 12px}
.assignee-query-stats>div{border:1px solid var(--m-border);border-radius:12px;padding:10px 14px;background:#fafcfb;display:grid;gap:2px}
.assignee-query-stats span{color:var(--m-muted);font-size:.82rem}
.assignee-query-stats b{font-size:1.4rem;font-variant-numeric:tabular-nums}
.assignee-query-table{min-width:760px}
.assignee-query-table td.is-numeric{text-align:right;font-variant-numeric:tabular-nums}
.assignee-query-table tr.is-active td{background:var(--m-soft)}
.assignee-query-items{margin-top:16px}
.assignee-query-items h3{margin:0 0 8px;font-size:1rem}
@media(max-width:900px){.assignee-query-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.assignee-query-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.assignee-query-filters{grid-template-columns:1fr}.assignee-query-filters .primary-button{width:100%}}
/* UI-123：審批清單的月份／作業範圍篩選與作業範圍 chip（色票同 customer-theme.css 的 UI-122 部門 chip；稅務 chip 內是管轄區名）。 */
.approval-list-filters{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:12px;align-items:end;margin:8px 0 12px}
.approval-list-filters .field{margin:0}
.department-chip{display:inline-block;border-radius:999px;padding:0 9px;font-size:12px;font-weight:700;line-height:1.7;white-space:nowrap}
.department-chip[data-department="tax"]{background:#e7f1ef;color:#3f6e67}
.department-chip[data-department="administrative"]{background:#f6eedd;color:#7a5a1d}
.department-chip[data-department="labor"]{background:#e6e9f6;color:#3f4f8f}
.assignee-query-table .department-chip{margin-right:4px}
@media(max-width:520px){.approval-list-filters{grid-template-columns:1fr}}
