:root{--i-brand:#3f6e67;--i-brand-light:#5a9088;--i-soft:#e4f0ee;--i-bg:#faf8f6;--i-surface:#fff;--i-border:#e9e3de;--i-text:#2b3332;--i-muted:#7a8482;--i-danger:#c4707b;--i-success:#5e9179;--i-r:16px;--i-shadow:0 8px 24px -12px rgb(45 74 70 / 22%),inset 0 1px 0 rgb(255 255 255 / 80%)}
body.identity-page .identity-group-choice{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px;border:1px solid var(--i-border);border-radius:10px;color:var(--i-text);cursor:pointer}body.identity-page .identity-group-choice:has(input:disabled){cursor:not-allowed;opacity:.55}body.identity-page .identity-group-choice input[type="checkbox"]{appearance:auto;flex:0 0 18px;width:18px;min-width:18px;min-height:18px;height:18px;margin:0;box-shadow:none;accent-color:var(--i-brand-light)}body.identity-page .identity-group-choice strong,body.identity-page .identity-group-choice small{display:block}body.identity-page .identity-group-choice small{margin-top:2px;color:var(--i-muted)}

/* UI-079 批次一：授權使用者清單改為緊湊單列，操作鈕同列並排，不再受全域行動裝置寬度規則
   （styles.css 的 .secondary-button{width:100%}）影響而疊成兩行。僅顯示層樣式，不改任何權限判斷、
   本人不可調整與最後一位啟用管理員受保護的既有防護與停用理由文案。只作用於 #users-table（帳號清單），
   不影響同頁另一個負責區域目錄表格（.identity-catalog，已有自己的緊湊樣式）。 */
#users-table{overflow-x:auto}
#users-table table{width:max-content;min-width:100%}
#users-table th,#users-table td{white-space:nowrap}
#users-table td:last-child{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;white-space:nowrap}
#users-table td:last-child .secondary-button{width:auto;min-height:36px;margin:0;padding:7px 12px;flex:0 0 auto}
body.identity-page{min-height:100vh;color:var(--i-text);background:radial-gradient(circle at 8% 0%,var(--i-soft),transparent 34%),var(--i-bg);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",system-ui,sans-serif}.identity-shell{width:min(100% - 48px,1120px);margin:auto}.identity-topbar{color:#fff;background:linear-gradient(180deg,#4b7e76,var(--i-brand));box-shadow:0 2px 10px rgb(45 74 70 / 18%)}.identity-topbar .identity-shell{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:16px}.identity-wordmark{font-weight:800;letter-spacing:.08em}.identity-wordmark small{display:block;color:#d9ece8;font-size:11px;font-weight:500;letter-spacing:.04em}.identity-user{display:flex;gap:9px;align-items:center;font-size:13px}.identity-avatar{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgb(255 255 255 / 45%);border-radius:999px;background:rgb(255 255 255 / 15%);font-weight:800}.identity-main{padding:40px 0 72px}.identity-login{display:grid;min-height:100vh;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:32px}.identity-intro{padding:16px}.identity-eyebrow{margin:0 0 6px;color:var(--i-brand);font-size:12px;font-weight:800;letter-spacing:.08em}.identity-intro h1,.identity-card h1,.identity-card h2{margin:0;line-height:1.35}.identity-intro h1{font-size:clamp(30px,4vw,44px)}.identity-intro>p:not(.identity-eyebrow),.identity-card .help{color:var(--i-muted)}.identity-promise{display:grid;gap:12px;margin-top:28px}.identity-promise article,.identity-summary{padding:13px 14px;border:1px solid var(--i-border);border-radius:12px;background:rgb(255 255 255 / 72%);box-shadow:0 1px 5px rgb(45 74 70 / 7%)}.identity-promise strong,.identity-promise span,.identity-summary strong,.identity-summary span{display:block}.identity-promise span,.identity-summary span{margin-top:3px;color:var(--i-muted);font-size:13px}.identity-card{min-width:0;padding:30px;border:1px solid var(--i-border);border-radius:20px;background:linear-gradient(180deg,#fff,#fdfcfb);box-shadow:var(--i-shadow)}.identity-card .field{margin-top:18px}.identity-card label{color:var(--i-muted);font-size:13px;font-weight:800}.identity-card input,.identity-card select,.identity-card textarea{border-color:#dcd3cc;border-radius:12px}.identity-card input:focus,.identity-card select:focus,.identity-card textarea:focus{border-color:var(--i-brand-light);outline:0;box-shadow:0 0 0 3px rgb(90 144 136 / 22%)}.identity-card .primary-button,.identity-card .secondary-button{min-height:44px;border-radius:12px;font-weight:800}.identity-card .primary-button{border-color:var(--i-brand);background:linear-gradient(180deg,#63988f,var(--i-brand-light));box-shadow:var(--i-shadow)}.identity-card .primary-button:hover:not(:disabled){background:var(--i-brand);transform:translateY(-1px)}.identity-card .secondary-button{border-color:#dcd3cc;color:var(--i-brand);background:#fff}.identity-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.identity-actions .primary-button,.identity-actions .secondary-button{width:auto;margin:0}.identity-actions--end{justify-content:flex-end}.identity-password{display:flex;gap:8px}.identity-password input{min-width:0;flex:1}.identity-password .secondary-button{width:auto;margin:0}.identity-note{display:flex;gap:10px;margin-top:20px;padding:12px;border-left:4px solid var(--i-brand-light);border-radius:0 12px 12px 0;color:var(--i-brand);background:#f2f8f7;font-size:13px}.identity-status{min-height:1.5em;margin:18px 0 0;color:var(--i-muted)}.identity-status[data-tone="success"]{color:var(--i-success);font-weight:700}.identity-status[data-tone="error"]{color:var(--i-danger);font-weight:700}.identity-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.identity-header h1{margin:0;font-size:clamp(26px,3vw,34px)}.identity-header p:not(.identity-eyebrow){margin:6px 0;color:var(--i-muted)}.identity-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.identity-side{display:grid;align-content:start;gap:16px;min-width:0}.identity-table{overflow-x:auto;margin-top:18px;border:1px solid var(--i-border);border-radius:12px}.identity-table table{min-width:650px}.identity-table th{color:var(--i-brand);background:#f2f8f7}.identity-table tbody tr:hover td{background:#f2f8f7}.identity-badge{display:inline-flex;gap:6px;align-items:center;padding:3px 9px;border:1px solid var(--i-border);border-radius:999px;color:var(--i-brand);background:#f2f8f7;font-size:12px;font-weight:800}.identity-page dialog{width:min(100% - 32px,520px);border:1px solid var(--i-border);border-radius:20px;padding:28px;color:var(--i-text);box-shadow:var(--i-shadow)}.identity-page dialog::backdrop{background:rgb(43 51 50 / 42%)}.identity-page dialog h2{margin:0}.identity-page dialog>p{color:var(--i-muted)}@media(max-width:800px){.identity-login{grid-template-columns:1fr}.identity-login{padding:68px 0 28px}.identity-intro{padding:56px 0 0}.identity-card{padding:24px}}@media(max-width:500px){.identity-shell{width:min(100% - 24px,1120px)}.identity-topbar .identity-shell{min-height:58px}.identity-user>span:first-child{display:none}.identity-main{padding-top:24px}.identity-card{padding:18px;border-radius:16px}.identity-actions,.identity-password{flex-direction:column}.identity-actions .primary-button,.identity-actions .secondary-button,.identity-password .secondary-button{width:100%}}

/* UI-099：管理員替他人設定登入／重設一次性密碼。色票沿用核准版面稿（artifacts/ui/ui-099-admin-set-credentials-v1.html），
   先在此定義為 token 再使用，不在規則中直接寫色碼。 */
body.identity-page{--i-warn-bg:#fbf3e4;--i-warn-ink:#8a5a14;--i-ok-bg:#e6f1ea;--i-lock-bg:#eef0f0;--i-readonly-bg:#f4f2ef}
/* 作者樣式的 display 會蓋掉 hidden 屬性（UI-075 踩過的坑），對話框內切換模式的節點一律以 hidden 為準。 */
#credentials-dialog [hidden]{display:none !important}
#users-table td:last-child .primary-button{width:auto;min-height:36px;margin:0;padding:7px 12px;flex:0 0 auto}
.identity-login-pill{display:inline-flex;align-items:center;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;white-space:nowrap}
.identity-login-pill--none{color:var(--i-warn-ink);background:var(--i-warn-bg)}
.identity-login-pill--lock{color:var(--i-muted);background:var(--i-lock-bg)}
.identity-login-id{font-family:ui-monospace,Menlo,Consolas,monospace}
.identity-callout{margin:14px 0 0;padding:9px 11px;border-radius:10px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.identity-page dialog .identity-callout--warn{color:var(--i-warn-ink);background:var(--i-warn-bg)}
.identity-page dialog .identity-callout--ok{color:var(--i-success);background:var(--i-ok-bg)}
.identity-credentials-status:empty{min-height:0;margin:0}
.identity-credentials-label{margin:0 0 6px;color:var(--i-muted);font-size:13px;font-weight:800}
#credentials-dialog input[readonly]{color:var(--i-muted);background:var(--i-readonly-bg)}
#credentials-dialog textarea{min-height:88px}
.identity-secret{display:flex;flex:1;min-width:0;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--i-border);border-radius:12px;background:var(--i-surface);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.04em;overflow-wrap:anywhere;user-select:all}

/* UI-116：主管的「請款收款範圍」標示（存取範圍欄內第二行）；全組織以品牌色加粗，一眼分辨收款主管。 */
.identity-billing-scope-line { display: block; margin-top: 4px; font-size: 12px; color: var(--i-muted); }
.identity-billing-scope[data-billing-scope="organization"] { color: var(--i-brand); font-weight: 700; }
#billing-scope-dialog fieldset { border: 0; padding: 0; margin: 0 0 12px; display: grid; gap: 6px; }
#billing-scope-dialog legend { font-weight: 700; margin-bottom: 4px; }

/* UI-122：部門 chip（稅務／行政／社勞）與授權使用者清單上方的部門篩選。色票沿用核准靜態稿。 */
.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}
.identity-department-filter{max-width:240px;margin:12px 0 0}
