:root{--green:#0f6a43;--green2:#118052;--green-soft:#e8f5ed;--ink:#18342a;--muted:#6c7d76;--line:#dbe6df;--amber:#9b6700;--amber-soft:#fff5d7;--danger:#a13c2d;--danger-soft:#fff0ed;--bg:#f4f7f5;--white:#fff;--shadow:0 14px 40px #0a503027;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}
.login-shell{min-height:100dvh;display:grid;place-items:center;padding:18px;background:var(--bg)}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);padding:32px;border-radius:20px;box-shadow:var(--shadow);text-align:center}.logo{width:120px;height:88px;object-fit:contain}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--green);font-weight:850}.login-card h1{margin:.35rem 0;font-size:27px}.muted{color:var(--muted)}.google-button{display:flex;justify-content:center;margin:24px 0}
#app{max-width:1260px;margin:auto;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#0b4e32,#118052);color:#fff;border-radius:20px;padding:16px 20px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#fff;padding:4px}.brand b{display:block;font-size:21px}.brand small{display:block;color:#d8eee2;margin-top:3px}.topbar .button.ghost{border-color:#ffffff55;background:#ffffff18;color:#fff}.topbar .button.ghost:hover{background:#fff;color:var(--green)}
.tabs{display:flex;gap:7px;overflow-x:auto;margin:12px 0 0;padding:4px;background:#ffffff20;border-radius:12px;scrollbar-width:thin}.tab{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 13px;border-radius:10px;white-space:nowrap;font-weight:750}.tab.active{border-color:var(--green);background:var(--green);color:#fff}.content{padding:14px 0 100px}.page-title{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:0 0 14px}.page-title h1{margin:0;font-size:23px}.page-title p{margin:5px 0 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.card,.metric,.table-wrap{background:#fff;border:1px solid var(--line);border-radius:16px}.card{padding:16px}.card h2,.card h3{margin:0 0 8px}.card h3{font-size:16px}.meta{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;color:var(--muted);font-size:14px}.meta b{color:var(--ink)}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800}.badge.warn{background:var(--amber-soft);color:var(--amber)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 13px;font-weight:750}.button.primary{border-color:var(--green);background:var(--green);color:#fff}.button.warn{border-color:#efd394;background:var(--amber-soft);color:var(--amber)}.button.danger{border-color:#e4c7c1;background:#fff;color:var(--danger)}.button.ghost{background:#fff}.button:hover:not(:disabled){filter:brightness(.97)}.button:disabled{opacity:.5;cursor:not-allowed}
label{display:grid;text-align:left;gap:5px;color:var(--muted);font-size:12px;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #11805233;border-color:var(--green2)}textarea{min-height:80px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.span-2{grid-column:1/-1}
.photo-status.required{display:block;padding:9px 11px;border-radius:9px;background:var(--danger-soft);color:var(--danger);font-weight:800}
.walkin-suggestion-list{display:grid;gap:6px;max-height:300px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px #0a503020}.walkin-suggestion-list[hidden]{display:none}.walkin-suggestion-list button{display:grid;gap:3px;width:100%;padding:11px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.walkin-suggestion-list button:hover,.walkin-suggestion-list button:focus{border-color:var(--green);background:var(--green-soft);outline:none}.walkin-suggestion-list button span,.walkin-suggestion-list p{color:var(--muted);font-size:12px}.walkin-suggestion-list p{margin:6px}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);font-size:13px}th{background:var(--green-soft);color:#456257}tfoot td{font-weight:800}.empty{padding:30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #bfd1c7;border-radius:16px}
.warning-card{border-color:#efd394;background:var(--amber-soft)}code{font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}.metric{padding:15px}.metric strong{display:block;font-size:25px;color:var(--green);margin-top:3px}.section-title{font-size:18px;margin:18px 0 10px}.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
#toast{position:fixed;right:18px;bottom:18px;z-index:30;background:var(--ink);color:#fff;padding:13px 16px;border-radius:12px;box-shadow:0 12px 36px #0003;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}#toast.error{background:var(--danger)}.error{color:var(--danger);min-height:1.3em}
dialog{border:0;border-radius:18px;padding:0;width:min(620px,calc(100% - 24px));box-shadow:0 24px 70px #0004}dialog::backdrop{background:#10261d99}#dialogForm{overflow:hidden;border-radius:18px}#dialogBody{padding:18px}#dialogBody h2{margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line);background:#fff}
.topbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.incident-list{display:grid;gap:12px}.incident-card{border-left-width:5px}.incident-card.incident-error{border-left-color:var(--danger)}.incident-card.incident-warning{border-left-color:#d69a1a}.incident-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.incident-head time{color:var(--muted);font-size:12px}.incident-resolution{padding:10px 12px;border-radius:10px;background:var(--green-soft)}.incident-card details{margin-top:10px}.incident-card summary{cursor:pointer;color:var(--green);font-weight:750}.incident-card pre{max-height:260px;overflow:auto;padding:12px;border-radius:10px;background:#11251e;color:#e7f4ec;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
@media(max-width:850px){#app{padding:10px}.topbar{align-items:flex-start;flex-direction:column}.topbar .button.ghost{position:absolute;right:22px;top:28px}.tabs{margin-top:10px}.content{padding-top:12px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-title{align-items:start;flex-direction:column}.grid{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}.actions .button{flex:1}.card{padding:14px}}
@media(max-width:850px){.topbar-actions{width:100%;justify-content:flex-start}.topbar .topbar-actions .button.ghost{position:static}.incident-head{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){#app{padding:10px}.brand{padding-right:0}.brand img{width:54px;height:54px}.brand b{font-size:18px}.brand small{font-size:12px}.topbar{padding:14px}.topbar .topbar-actions .button.ghost{position:static;padding:9px}.topbar-actions .button{flex:1}.tab{padding:9px 11px}.page-title h1{font-size:21px}.summary{grid-template-columns:1fr 1fr}.metric{padding:12px}.metric strong{font-size:20px}.button{min-height:44px}.login-card{padding:26px 18px}}
.ai-intake-box{border:1px solid #b9d7c3;border-radius:14px;padding:14px;background:#f5fbf7}.ai-intake-box h3{margin:0 0 6px;color:var(--green)}.ai-intake-box textarea{width:100%;margin:8px 0 10px}
.simulation-notice{margin-bottom:14px;border-color:#efd394;background:var(--amber-soft)}.simulation-notice p{margin:5px 0 0}.voice-sim-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(420px,1.35fr);gap:14px;align-items:start}.voice-sim-controls hr{border:0;border-top:1px solid var(--line);margin:16px 0}.voice-toggle{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-top:14px}.voice-toggle input{width:auto}.voice-chat-panel{min-height:650px}.voice-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.voice-transcript{height:410px;overflow:auto;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbf9;display:flex;flex-direction:column;gap:10px}.voice-line{max-width:86%;padding:11px 13px;border-radius:14px}.voice-line p{margin:4px 0 0}.voice-line-ai{align-self:flex-start;background:var(--green-soft);border-bottom-left-radius:4px}.voice-line-ai b{color:var(--green)}.voice-line-customer{align-self:flex-end;background:#fff;border:1px solid var(--line);border-bottom-right-radius:4px}.voice-suggestions{display:grid;gap:7px;margin-bottom:12px}.voice-suggestion{text-align:left;font-weight:600;padding:8px 10px}.voice-compose textarea{min-height:72px}.simulation-status{display:grid;gap:3px;padding:12px;border-radius:11px;background:var(--green-soft);color:var(--green)}.simulation-status small{color:var(--muted)}.simulation-human_handoff{background:var(--amber-soft);color:var(--amber)}.simulation-ready_for_review{background:#e4f7ea}.simulation-draft{display:grid;gap:1px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.simulation-draft div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 10px;background:#f8fbf9}.simulation-draft div+div{border-top:1px solid var(--line)}.simulation-draft span{color:var(--muted)}.simulation-missing,.simulation-warnings{padding:10px;border-radius:10px;background:var(--amber-soft);color:var(--amber)}.simulation-ready,.simulation-final{padding:10px;border-radius:10px;background:var(--green-soft);color:var(--green)}.simulation-warnings ul{margin:6px 0 0;padding-left:20px}.simulation-final p{margin:4px 0 0}.empty.compact{padding:14px}
@media(max-width:900px){.voice-sim-layout{grid-template-columns:1fr}.voice-chat-panel{min-height:unset}.voice-transcript{height:390px}}
@media(max-width:520px){.voice-transcript{height:360px;padding:10px}.voice-line{max-width:94%}.simulation-draft div{grid-template-columns:95px 1fr}.voice-chat-head{align-items:flex-start}.voice-chat-head .button{min-width:100px}}
/* GM05 workspace only. No global navigation, auth, or monetary policy overrides. */
.gm05-workspace { display: grid; gap: 18px; max-width: 1500px; margin: 0 auto; }
.gm05-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.gm05-header h1 { margin: 5px 0 10px; }
.gm05-header p { margin: 4px 0; }
.gm05-header > a { flex-shrink: 0; }
.gm05-notice { border: 1px solid #dfbc68; border-left: 4px solid #b27a14; border-radius: 10px; background: #fff9e9; color: #624815; padding: 14px 16px; line-height: 1.6; }
.gm05-section { background: #fff; border: 1px solid #dbe5df; border-radius: 14px; padding: 20px; min-width: 0; scroll-margin-top: 20px; }
.gm05-section h2 { margin: 0 0 14px; font-size: 20px; }
.gm05-today-card,.gm05-attendance-record { padding: 16px; border: 1px solid #dbe5df; border-radius: 12px; margin: 12px 0; overflow-wrap: anywhere; }
.gm05-quick-form { display: flex; margin: 10px 0; }
.gm05-quick-form .button { min-height: 48px; min-width: 150px; font-size: 18px; }
.gm05-workspace [data-gm05-cancel-draft] { margin: 6px; min-height: 44px; }
.gm05-workspace pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.gm05-section > p { color: #4c635a; line-height: 1.6; }
.gm05-form,.gm05-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.gm05-filters { grid-template-columns: minmax(140px,220px) minmax(200px,1fr) auto; align-items: end; background: #edf5ef; border-radius: 12px; padding: 14px; margin: 0; }
.gm05-workspace label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; }
.gm05-workspace input,.gm05-workspace select,.gm05-workspace textarea { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #b9cbc1; border-radius: 7px; padding: 10px; background: white; color: #19382c; font: inherit; }
.gm05-workspace textarea { min-height: 82px; resize: vertical; }
.gm05-workspace .gm05-check { display: flex; align-items: flex-start; gap: 9px; font-weight: 500; line-height: 1.5; }
.gm05-workspace .gm05-check input { width: 18px; height: 18px; padding: 0; flex-shrink: 0; margin-top: 2px; }
.gm05-workspace fieldset { border: 1px solid #cddbd3; border-radius: 8px; padding: 14px; min-width: 0; }
.gm05-workspace fieldset > label { margin: 10px 0; }
.gm05-wide { grid-column: 1 / -1; }
.gm05-chain { display: flex; flex-wrap: wrap; gap: 7px; }
.gm05-chain a { padding: 8px 12px; border: 1px solid #bdd0c2; border-radius: 20px; color: #155138; background: #f5faf6; font-size: 13px; font-weight: 600; text-decoration: none; }
.gm05-details { border: 1px solid #d6e1db; border-radius: 9px; margin: 12px 0; padding: 0 12px; background: #fbfdfb; }
.gm05-details > summary { padding: 13px 0; cursor: pointer; font-weight: 650; color: #25583f; }
.gm05-table-wrap { overflow-x: auto; margin: 14px 0; border: 1px solid #e0e8e3; border-radius: 8px; }
.gm05-table-wrap table { width: 100%; border-collapse: collapse; min-width: 700px; font-size: 13px; }
.gm05-table-wrap th { text-align: left; padding: 10px; background: #eff5f1; color: #345447; }
.gm05-table-wrap td { vertical-align: top; padding: 11px 10px; border-top: 1px solid #e4ece7; line-height: 1.6; overflow-wrap: anywhere; }
.gm05-table-wrap .gm05-form { min-width: 260px; grid-template-columns: 1fr; }
.gm05-task-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,480px),1fr)); gap: 16px; }
.gm05-task { padding: 18px; border: 1px solid #cedfd2; border-radius: 12px; background: #fff; min-width: 0; overflow-wrap: anywhere; }
.gm05-task header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.gm05-task h3 { font-size: 18px; margin: 8px 0; }
.gm05-task p { margin: 10px 0; line-height: 1.6; }
.gm05-task small,.gm05-evidence small { display: block; color: #547064; font-size: 12px; line-height: 1.6; }
.gm05-task progress { width: 100%; height: 9px; accent-color: #248851; }
.gm05-status { border-radius: 6px; background: #eaf3ed; color: #155333; font-size: 11px; font-weight: 700; padding: 7px 9px; max-width: 180px; }
.gm05-evidence { padding: 12px 0; border-bottom: 1px solid #dae5dd; overflow-wrap: anywhere; }
.gm05-evidence .button { margin: 7px 0; }
.gm05-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.gm05-cards article { border: 1px solid #d2e0d7; border-radius: 10px; padding: 16px; background: #f5faf6; }
.gm05-cards h3 { margin-top: 0; }
.gm05-money-disabled { background: #f3f4f3; display: flex; gap: 8px; flex-wrap: wrap; color: #5e6961; }
.gm05-workspace button:disabled,.gm05-money-disabled .button { opacity: .55; cursor: not-allowed; }
.gm05-empty { padding: 16px; color: #64726b; background: #f6f8f6; border-radius: 8px; }
.gm05-feedback { margin: 0; font-weight: 600; color: #155d37; }
.gm05-feedback:empty { display: none; }
.gm05-feedback.gm05-error { color: #a22e27; padding: 12px; background: #fff1ef; border-radius: 9px; }
.gm05-footer { color: #586f61; font-size: 11px; line-height: 1.8; overflow-wrap: anywhere; }
.gm05-alert-red { color: #952f27; background: #fff1ef; padding: 7px; margin-bottom: 6px; border-radius: 6px; }
.gm05-alert-yellow { color: #725218; background: #fff8e7; padding: 7px; margin-bottom: 6px; border-radius: 6px; }
/* R-05 extends the existing payroll page; styles do not change other modules. */
.r05-payroll { display: grid; gap: 18px; color: #243c31; margin: 18px 0; overflow-wrap: anywhere; }
.r05-payroll .r05-header { display: flex; gap: 20px; justify-content: space-between; align-items: flex-start; }
.r05-payroll .r05-header h2 { font-size: 25px; margin: 6px 0; }
.r05-payroll .r05-header p { margin: 5px 0; line-height: 1.6; }
.r05-payroll .r05-badge { padding: 9px 12px; border-radius: 7px; background: #dfeee5; color: #215338; font-weight: 700; font-size: 12px; }
.r05-payroll .r05-notice,.r05-payroll .r05-warning { margin: 0; padding: 14px 17px; border-radius: 9px; border: 1px solid #d4e2d8; background: #eff6f1; line-height: 1.6; }
.r05-payroll .r05-warning { background: #fff8e8; border-color: #e7d5a6; color: #6c4d16; }
.r05-payroll .r05-section { padding: 21px; border: 1px solid #d1ded5; background: #fff; border-radius: 12px; min-width: 0; }
.r05-payroll .r05-section h2 { font-size: 19px; display: flex; align-items: center; gap: 10px; margin: 0 0 17px; }
.r05-payroll .r05-section h2 span { background: #eaf3ed; color: #205b39; border-radius: 6px; padding: 5px 10px; font-size: 14px; }
.r05-payroll .r05-section p { line-height: 1.6; }
.r05-payroll .r05-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 12px 0; }
.r05-payroll label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; font-weight: 600; line-height: 1.5; }
.r05-payroll input,.r05-payroll select,.r05-payroll textarea { width: 100%; max-width: 100%; padding: 10px; border: 1px solid #bbcfc1; border-radius: 7px; background: #fff; color: #243c31; font: inherit; box-sizing: border-box; }
.r05-payroll textarea { min-height: 70px; resize: vertical; }
.r05-payroll .r05-check { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 500; }
.r05-payroll .r05-check input { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; }
.r05-payroll .r05-wide { grid-column: 1 / -1; }
.r05-payroll fieldset { border: 1px solid #d4dfd8; padding: 14px; border-radius: 8px; min-width: 0; }
.r05-payroll fieldset label { margin: 8px 0; }
.r05-payroll .r05-details { margin: 12px 0; padding: 0 13px; border: 1px solid #d7e3da; border-radius: 8px; background: #fbfdfb; }
.r05-payroll .r05-details summary { cursor: pointer; padding: 13px 0; color: #205c39; font-weight: 650; line-height: 1.5; }
.r05-payroll .r05-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); gap: 15px; margin: 16px 0; }
.r05-payroll .r05-metrics dt { color: #5b7061; font-size: 12px; margin-bottom: 7px; }
.r05-payroll .r05-metrics dd { margin: 0; font-weight: 650; font-size: 15px; }
.r05-payroll .r05-value { font-size: 22px; font-weight: 750; color: #1c6140; }
.r05-payroll .r05-formula { font-size: 17px; font-weight: 600; }
.r05-payroll .r05-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin-bottom: 17px; }
.r05-payroll .r05-cards article { padding: 18px; background: #f3f8f4; border: 1px solid #d5e4d9; border-radius: 10px; min-width: 0; }
.r05-payroll .r05-cards h3 { margin: 0 0 13px; font-size: 19px; }
.r05-payroll small,.r05-payroll .r05-footer { color: #5d7165; line-height: 1.7; font-size: 12px; }
.r05-payroll .r05-table { width: 100%; overflow-x: auto; border: 1px solid #dde7df; border-radius: 8px; margin: 14px 0; }
.r05-payroll table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: 12px; }
.r05-payroll th,.r05-payroll td { text-align: left; padding: 11px; vertical-align: top; line-height: 1.7; }
.r05-payroll th { background: #edf4ef; color: #355a43; }
.r05-payroll td { border-top: 1px solid #e3ebe5; }
.r05-payroll .r05-table .r05-form { min-width: 240px; grid-template-columns: 1fr; }
.r05-payroll pre { max-width: 500px; white-space: pre-wrap; font-size: 11px; line-height: 1.5; }
.r05-payroll code { font-size: 12px; }
.r05-payroll .r05-feedback:empty { display: none; }
.r05-payroll .r05-feedback { background: #edf6ed; color: #245a38; padding: 12px; border-radius: 8px; margin: 0; }
.r05-payroll .r05-feedback.r05-error { background: #fff0ed; color: #962f26; }
.r05-payroll .r05-empty { color: #6a7a6e; padding: 10px; background: #f7f9f7; border-radius: 8px; }
.r05-payroll button:disabled { opacity: .5; cursor: not-allowed; }
@media(max-width:700px) {
  .r05-payroll .r05-header { flex-direction: column; }
  .r05-payroll .r05-form,.r05-payroll .r05-cards { grid-template-columns: 1fr; }
  .r05-payroll .r05-section { padding: 15px; }
  .r05-payroll .r05-value { font-size: 18px; }
}
@media(max-width:700px) {
  .gm05-header { flex-direction: column; }
  .gm05-section { padding: 15px; }
  .gm05-form,.gm05-filters,.gm05-cards { grid-template-columns: 1fr; }
  .gm05-task { padding: 13px; }
  .gm05-task header { flex-direction: column; }
  .gm05-status { max-width: none; }
  .gm05-chain a { font-size: 12px; }
}
.incident-report { width: min(560px, calc(100vw - 24px)); max-height: 90dvh; padding: 20px; box-sizing: border-box; overflow-y: auto; }
.incident-report [data-incident-preview] { max-width: 100%; max-height: 300px; object-fit: contain; }
.incident-report button { min-height: 44px; }
.gm05-employee-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; position:sticky; top:0; z-index:2; padding:8px 0; background:#fff; }
.gm05-employee-nav button { min-height:48px; padding:8px 4px; white-space:normal; }
.gm05-private-dialog { width:min(620px,calc(100vw - 24px)); max-height:85dvh; overflow:auto; box-sizing:border-box; padding:20px; overflow-wrap:anywhere; }
.gm05-private-dialog button { min-height:44px; }
.gm05-workspace section,.gm05-workspace #gm05-private-payslips { scroll-margin-top:76px; }

/* 10/10/2026: khung nhập luôn đóng được; trên điện thoại cuộn bên trong, nút Đóng / Lưu luôn thấy ở đáy */
dialog{max-height:92dvh;position:relative}
dialog #dialogForm{display:flex;flex-direction:column;max-height:92dvh}
dialog #dialogBody{overflow:auto;flex:1 1 auto}
#dialogBody>h2{padding-right:48px}
dialog .dialog-actions{flex:0 0 auto}
.dialog-x{position:absolute;top:10px;right:10px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--line,#ddd);background:#fff;font-size:20px;line-height:1;cursor:pointer;color:#33443b}
.dialog-x:hover{background:#f1f5f2}
.dialog-leave{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:#fff4e5;border:1px solid #f0c27a;border-radius:12px;padding:10px 12px;margin:0 52px 12px 0}
.dialog-leave span{display:flex;gap:8px;flex-wrap:wrap}

/* 10/10/2026: Lịch của đội — mỗi lịch 1 dòng gọn theo giờ, 1 chấm màu; bấm vào mới sổ chi tiết */
.sch-list{display:flex;flex-direction:column;gap:8px}
.sch-row{border:1px solid var(--line,#dfe8e2);border-left:6px solid #d0d5d2;border-radius:14px;background:#fff;overflow:hidden}
.sch-row>summary{list-style:none;display:grid;grid-template-columns:auto auto 1fr auto;grid-template-areas:"dot t c chev" "dot t s chev";gap:2px 10px;align-items:center;padding:12px 14px;cursor:pointer;min-height:56px}
.sch-row>summary::-webkit-details-marker{display:none}
.sch-dot{grid-area:dot;width:16px;height:16px;border-radius:50%;background:#9aa5a0}
.sch-t{grid-area:t;font-size:18px;min-width:52px}.sch-t small{display:block;font-size:12px;color:#5b6b63;font-weight:600}
.sch-c{grid-area:c;font-weight:700;overflow-wrap:anywhere}.sch-s{grid-area:s;font-size:13px;color:#5b6b63}.sch-s em{font-style:normal;font-weight:700}
.sch-chev{grid-area:chev;color:#5b6b63;transition:transform .15s}.sch-row[open] .sch-chev{transform:rotate(180deg)}
.sch-row>.card{margin:0;border:0;border-top:1px solid var(--line,#dfe8e2);border-radius:0;box-shadow:none}
.sch-g{border-left-color:#1f8a4c}.sch-g .sch-dot{background:#1f8a4c}.sch-g .sch-s em{color:#1f8a4c}
.sch-o{border-left-color:#e08a00}.sch-o .sch-dot{background:#e08a00}.sch-o .sch-s em{color:#b26a00}
.sch-r{border-left-color:#d92d20}.sch-r .sch-dot{background:#d92d20}.sch-r .sch-s em{color:#b42318}
.sch-x{opacity:.65}

/* 11/10/2026: thiết bị đang đăng nhập (Phân quyền nhân sự) */
.dev-box{margin-top:4px;font-size:13px}.dev-box summary{cursor:pointer;color:#1f5c3d}.dev-box ul{margin:6px 0 0;padding-left:0;list-style:none}.dev-box li{padding:6px 0;border-top:1px dashed #dfe8e2}.dev-box li .button{min-height:30px;padding:2px 10px;font-size:12px;margin-top:4px}

/* 11/10/2026: Hoàn thành — 3 nút cách khách thanh toán + dòng ghi nợ */
.pp-hidden{display:none!important}
.pp-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px}
.pp-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid #cfe3d6;background:#fff;border-radius:12px;padding:8px 10px;min-height:52px;cursor:pointer;font:inherit;color:#1d2b24}
.pp-chip b{font-size:14px}.pp-chip small{font-size:11px;color:#5b6b63;font-weight:400}
.pp-chip.on{border:2px solid #1f7a4d;background:#eaf5ee}
.pp-chip[data-plan="PROMISE"].on,.pp-chip[data-plan="DEBT"].on{border-color:#b42318;background:#fff1f0}
.pp-debt{background:#fff1f0;border:1px solid #f3b4ae;color:#b42318;border-radius:10px;padding:6px 10px;margin-bottom:6px;font-size:14px}
@media(max-width:600px){.pp-chip{padding:6px 7px;min-height:48px}.pp-chip b{font-size:13px}}

.pp-chips{grid-template-columns:repeat(2,1fr)}
.next-round{border:1px dashed #1f7a4d;border-radius:12px;padding:8px 10px;background:#f6fbf8}
.next-round-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
@media(max-width:600px){.next-round-row{grid-template-columns:1fr 1fr}.next-round-row label:last-child{grid-column:1/-1}}

.pp-bulk{background:#eaf5ee;border:1px solid #9fd0b3;color:#14532d;border-radius:10px;padding:6px 10px;margin-bottom:6px;font-size:14px;font-weight:600}

/* 11/10/2026: Bàn làm việc Thủ quỹ */
.tq-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0 16px}
.tq-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid #dfe7e2;background:#fff;cursor:pointer;text-align:left;font:inherit}
.tq-tile span{font-weight:600;color:#2f4a3c}.tq-tile strong{font-size:28px;line-height:1.1}.tq-tile small{color:#6b7c72}
.tq-tile.tq-todo{background:#fff7e6;border-color:#f3c46b}.tq-tile.tq-todo strong{color:#b45309}
.tq-tile.tq-ok strong{color:#15803d}
.tq-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf1ee}
.tq-row:first-of-type{border-top:0}.tq-amt{font-size:18px;color:#0f5132}
@media (max-width:640px){.tq-tiles{grid-template-columns:1fr 1fr}.tq-row{grid-template-columns:1fr auto}.tq-row .actions{grid-column:1/-1}}
.tq-wrong{background:#fff1f0;border-radius:10px;padding-left:8px}
.tq-step{display:flex;align-items:center;gap:10px;margin:22px 0 8px;font-size:20px}.tq-step span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0f5132;color:#fff;font-size:15px}
