/* ===== assets/user-security-ui.css ===== */
.security-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.security-toolbar label{flex:1;min-width:160px}.security-secondary{display:block;color:#738398;font-size:12px;margin-top:5px}.security-dialog{max-width:920px;width:calc(100% - 32px);border:1px solid #d7e3f1;border-radius:18px;padding:22px;color:#1c3654}.security-dialog::backdrop{background:#122b5066}.security-dialog header{display:flex;justify-content:space-between;align-items:center}.security-dialog h2{font-size:20px}.security-dialog input:not([type=checkbox]),.security-dialog select{width:100%;min-height:42px;border:1px solid #cbd9eb;border-radius:8px;padding:8px}.security-dialog button{background:#0968ed;color:white;padding:10px 16px;border-radius:8px}.security-dialog [data-close]{background:#eef4fb;color:#345}.security-dialog fieldset{border:1px solid #dce5f1;border-radius:10px;margin:16px 0;padding:14px}.security-dialog .security-check{display:flex;align-items:center;gap:9px}.security-dialog [data-error]{color:#ad2431}.security-dialog [data-qr]{display:block;max-width:220px;margin:20px auto}.security-dialog pre{white-space:pre-wrap;max-width:260px;overflow-wrap:anywhere;font-size:11px}.security-dialog footer{margin-top:18px}.security-dialog [hidden]{display:none!important}#login-forgot{background:transparent;color:#176ad2;padding:5px 0;font-size:13px}#working-branch-btn{background:#edf5ff;color:#19538b;border-radius:7px;padding:7px 10px}

.security-dialog .security-check input[type=checkbox]{width:18px;min-width:18px;height:18px;flex:0 0 18px;margin:0}.security-dialog .security-check{justify-content:flex-start}.security-dialog .ap-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.security-dialog label{display:block}.security-dialog .security-check{display:flex}@media(max-width:620px){.security-dialog .ap-form-grid{grid-template-columns:1fr}}

.security-dialog label.security-check{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;text-align:left;gap:9px}

.security-scope-help{margin:0 0 12px;color:#66798f;font-size:13px}.security-company{border:1px solid #e0e8f3;border-radius:10px;margin:10px 0;overflow:hidden}.security-company-head{padding:11px 12px;background:#f7faff;font-weight:500}.security-company-head strong{color:#155e9a}.security-branch-list{padding:8px 12px 12px 38px}.security-branch-list[hidden]{display:none!important}.security-branch-check{padding:6px 0}.security-branch-check strong{color:#234d72}

.security-no-branch{color:#6f8092;padding-top:10px;padding-bottom:10px}.security-company-head input:disabled+span{opacity:.58}.security-company-head input:disabled{cursor:not-allowed}


/* POS X workspace selector */
.security-workspace-dialog{width:min(680px,calc(100% - 28px));max-width:680px;padding:0;overflow:hidden;border:1px solid #d4e2f2;border-radius:20px;background:#fff;box-shadow:0 28px 90px #102b4b3d}
.security-workspace-dialog::backdrop{background:#10273f73;backdrop-filter:blur(5px)}
.security-workspace-dialog>header{padding:18px 22px;background:linear-gradient(180deg,#f7faff,#eef5ff);border-bottom:1px solid #dce7f4}
.security-workspace-dialog>header h2{margin:0;color:#173d66;font-size:21px;font-weight:750;letter-spacing:-.01em}
.security-workspace-dialog>header [data-close]{width:36px;height:36px;padding:0;border:1px solid #cad9eb;border-radius:10px;background:#fff;color:#47637f;font-size:22px;line-height:1;box-shadow:0 2px 8px #15395d0d}
.security-workspace-dialog .flow-modal-body{padding:0}
.security-workspace-form{display:grid;gap:0}
.security-workspace-intro{padding:18px 22px 13px}
.security-workspace-kicker{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#eaf3ff;color:#0968ed;font-size:10px;font-weight:800;letter-spacing:.12em}
.security-workspace-intro p{margin:9px 0 0;color:#637a92;font-size:13px;line-height:1.55}
.security-workspace-groups{display:grid;gap:12px;padding:0 22px 18px;max-height:min(52vh,500px);overflow:auto;overscroll-behavior:contain}
.security-workspace-company{border:1px solid #dce7f3;border-radius:14px;background:#fbfdff;overflow:hidden}
.security-workspace-company>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#f3f7fc;border-bottom:1px solid #e1eaf4}
.security-workspace-company>header>div{display:flex;align-items:center;gap:9px;min-width:0}
.security-workspace-company>header strong{color:#294966;font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-workspace-company-code{flex:0 0 auto;padding:3px 7px;border-radius:6px;background:#e2efff;color:#0968ed;font-size:10px;font-weight:850;letter-spacing:.04em}
.security-workspace-count{flex:0 0 auto;color:#7a8da2;font-size:10px}
.security-workspace-options{display:grid;gap:8px;padding:10px}
.security-workspace-card{position:relative;display:grid!important;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;margin:0!important;padding:12px 13px;border:1px solid #dce6f1!important;border-radius:11px!important;background:#fff!important;color:inherit!important;text-align:left!important;font:inherit!important;appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s}
.security-workspace-card:hover{border-color:#9fc6f6;background:#fafdff;box-shadow:0 5px 16px #1e5d9b0d;transform:translateY(-1px)}
.security-workspace-card.is-selected,.security-workspace-card:has(input:checked){border-color:#368af3!important;background:#f1f7ff!important;box-shadow:0 0 0 3px #0b6cf314,0 6px 18px #1a63a912}
.security-workspace-card input{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important}
.security-workspace-radio{width:18px;height:18px;border:2px solid #b7c8da;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px #fff;transition:.15s}
.security-workspace-card.is-selected .security-workspace-radio,.security-workspace-card:has(input:checked) .security-workspace-radio{border-color:#0968ed;background:#0968ed}
.security-workspace-card-copy{display:grid;gap:2px;min-width:0}
.security-workspace-type{color:#7b90a7;font-size:9px;font-weight:800;letter-spacing:.12em}
.security-workspace-card-copy strong{color:#193d60;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-workspace-card-copy small{color:#758aa0;font-size:10px}
.security-workspace-current{align-self:start;padding:4px 7px;border-radius:999px;background:#e9f7ef;color:#2f7b4e;font-size:9px;font-weight:750;white-space:nowrap}
.security-workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px 18px;border-top:1px solid #e2eaf3;background:#fbfdff}
.security-workspace-choice{display:grid;gap:2px;min-width:0}
.security-workspace-choice span{color:#8294a8;font-size:10px}
.security-workspace-choice strong{color:#234763;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.security-workspace-footer button{flex:0 0 auto;min-width:130px;border:0;border-radius:10px;background:#0968ed;color:#fff;padding:10px 16px;font-weight:750;box-shadow:0 8px 20px #0968ed2b}
.security-workspace-footer button:hover:not(:disabled){background:#075dD7;transform:translateY(-1px)}
.security-workspace-footer button:disabled{background:#cbd8e6;color:#f8fbff;box-shadow:none;cursor:not-allowed}
#working-branch-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #bfd6f1!important;background:#f0f7ff!important;color:#155b9b!important;border-radius:9px!important;padding:7px 11px!important;font-size:11px!important;font-weight:700!important;box-shadow:0 2px 8px #194f850d;transition:.15s}
#working-branch-btn:hover{border-color:#82b4ef!important;background:#e7f2ff!important;color:#074f91!important;transform:translateY(-1px)}
@media(max-width:620px){.security-workspace-dialog{width:calc(100% - 18px);border-radius:15px}.security-workspace-dialog>header,.security-workspace-intro{padding-left:16px;padding-right:16px}.security-workspace-groups{padding-left:12px;padding-right:12px;max-height:58vh}.security-workspace-company>header{align-items:flex-start}.security-workspace-company>header>div{display:grid;gap:4px}.security-workspace-company>header strong{white-space:normal}.security-workspace-card{grid-template-columns:20px minmax(0,1fr)}.security-workspace-current{grid-column:2;justify-self:start;margin-top:3px}.security-workspace-footer{align-items:stretch;padding:12px 14px 14px;flex-direction:column}.security-workspace-choice strong{max-width:none}.security-workspace-footer button{width:100%}}

.security-company-count{margin-left:auto;color:#70849a;font-size:12px;font-weight:600}.security-company-head{display:flex;align-items:center;gap:8px}.security-company-head>span{flex:1}.security-branch-list{background:#fff}.security-branch-check strong{color:#155e9a}

/* v1.3.14.23 multi-company / multi-branch access tree */
.security-scope-help strong{color:#155e9a}.security-company{box-shadow:0 4px 14px rgba(30,72,110,.045)}.security-company-head{min-height:48px}.security-company-head input[type=checkbox]{accent-color:#1677c8}.security-company-head input:indeterminate{accent-color:#1677c8}.security-company-count{white-space:nowrap}.security-branch-check{display:flex;align-items:center;gap:8px}.security-branch-check>span{flex:1}.security-branch-check>small{color:#8797a8;font-size:11px;white-space:nowrap}.security-branch-list{border-top:1px solid #edf2f7}.security-company:has(.security-branch-check input:checked){border-color:#b9d7ee;background:#fbfdff}.security-company-head:has(input:checked),.security-company-head:has(input:indeterminate){background:#eef7ff}.security-no-branch{background:#fbfcfe}

.security-company:has(.security-branch-check input:checked) .security-company-head{background:#eef7ff}.security-company-head{cursor:default}.security-no-branch{padding-left:12px}

/* v1.3.14.34: make Company and Branch assignment controls unmistakably independent */
.security-company-check{flex:1;min-width:0}.security-company-check>input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;opacity:1!important;visibility:visible!important;display:block!important;accent-color:#0968ed}.security-company-check>span{display:block;min-width:0}.security-company-kind,.security-branch-kind{display:inline-block;margin-right:7px;padding:2px 6px;border-radius:999px;background:#eaf3ff;color:#1766ad;font-size:10px;font-weight:800;letter-spacing:.04em}.security-branch-kind{background:#f1f5f9;color:#60758a}.security-company-head:has(.security-company-check input:checked){border-left:4px solid #0968ed}.security-company-head{padding-left:12px}.security-company-count{min-width:80px;text-align:right}

/* v1.3.14.36: explicit Company assignment checkbox */
.security-company-check>input.security-company-checkbox{appearance:auto!important;-webkit-appearance:checkbox!important;position:static!important;width:22px!important;height:22px!important;min-width:22px!important;display:inline-block!important;opacity:1!important;visibility:visible!important;margin:0 10px 0 0!important;accent-color:#0968ed!important}.security-company-select-text{color:#0968ed;font-weight:800}.security-company-head{overflow:visible!important}.security-company-check{overflow:visible!important}

/* HF04W · five job roles */
.security-job-role-section{background:linear-gradient(180deg,#fbfdff,#f7fbff)}
.security-job-role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.security-job-role-card{display:flex!important;align-items:center!important;gap:9px!important;padding:11px 12px!important;margin:0!important;border:1px solid #dce6f1;border-radius:11px;background:#fff;cursor:pointer;min-width:0}
.security-job-role-card:hover{border-color:#9fc6f6;background:#fafdff}
.security-job-role-card:has(input:checked){border-color:#368af3;background:#f1f7ff;box-shadow:0 0 0 3px #0b6cf314}
.security-job-role-card input[type=checkbox]{width:19px!important;height:19px!important;min-width:19px!important;margin:0!important;accent-color:#0968ed}
.security-job-role-card span{min-width:0}.security-job-role-card strong{color:#234d72;font-size:13px;white-space:nowrap}
.security-system-role-details{margin:14px 0;border:1px solid #e1e8f1;border-radius:10px;background:#fbfcfe}
.security-system-role-details>summary{cursor:pointer;padding:12px 14px;color:#61788f;font-size:12px;font-weight:700;user-select:none}
.security-system-role-details[open]>summary{border-bottom:1px solid #e6edf5;color:#315a7f}
.security-system-role-details fieldset{margin:0!important;border:0!important;border-radius:0!important;background:#fff}
@media(max-width:900px){.security-job-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.security-job-role-grid{grid-template-columns:1fr}}

/* HF05AH · User security editor + Auth-before-reset */
.security-dialog.security-user-editor-dialog{width:min(820px,calc(100vw - 28px));max-width:820px;max-height:90vh;padding:0;overflow:hidden}
.security-user-editor-dialog>header{padding:15px 18px;border-bottom:1px solid #dce7f2;background:linear-gradient(180deg,#f8fbff,#f1f6fc)}
.security-user-editor-dialog>header h2{margin:0;font-size:18px;color:#1b4165;font-weight:800}
.security-user-editor-dialog .flow-modal-body{max-height:calc(90vh - 66px);overflow:auto;padding:14px 18px 18px;overscroll-behavior:contain}
.security-user-editor-dialog fieldset{margin:10px 0;padding:12px}
.security-user-editor-dialog .security-company{margin:8px 0}
.security-user-editor-dialog .security-branch-list{padding-top:6px;padding-bottom:8px}
.security-user-editor-dialog form>footer{position:sticky;bottom:-1px;z-index:4;display:flex;justify-content:flex-end;margin:14px -18px -4px;padding:11px 18px;border-top:1px solid #dfe8f1;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.security-user-editor-dialog form>footer button{min-width:88px}
.security-account-actions{margin:14px 0 2px;border:1px solid #dce7f2;border-radius:12px;background:#fbfdff;overflow:hidden}
.security-account-actions-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e5edf5;background:#f5f9fd}
.security-account-actions-head>div{display:grid;gap:2px}.security-account-actions-head strong{color:#254963;font-size:12px}.security-account-actions-head small{color:#7b8fa2;font-size:10px}
.security-account-actions-buttons{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px}
.security-account-actions-buttons button{min-height:36px;padding:7px 11px;background:#fff;color:#31526d;border:1px solid #cfdeea;box-shadow:none;font-size:11px;font-weight:700}
.security-account-actions-buttons button:hover{border-color:#8db9dc;background:#f6fbff}.security-account-actions-buttons .security-danger-action{background:#fff8f2;color:#9a4b16;border-color:#efc9aa}
.security-account-actions-buttons .security-danger-action:hover{background:#fff2e8;border-color:#e5ae80}

.security-dialog.security-reset-dialog{width:min(680px,calc(100vw - 24px));max-width:680px;max-height:88vh;padding:0;overflow:hidden;border:1px solid #cfdeee;border-radius:18px;background:#fff;box-shadow:0 28px 80px #102b4b38}
.security-reset-dialog::backdrop{background:#10273f73;backdrop-filter:blur(4px)}
.security-reset-dialog>header{padding:15px 18px;border-bottom:1px solid #e2eaf3;background:linear-gradient(180deg,#f8fbff,#f1f6fc)}
.security-reset-dialog>header h2{margin:0;font-size:17px;color:#183e64;font-weight:800}.security-reset-dialog>header [data-close]{width:32px;height:32px;padding:0;border:1px solid #d3dfec;border-radius:9px;background:#fff;color:#587089;font-size:20px;box-shadow:none}
.security-reset-dialog .flow-modal-body{max-height:calc(88vh - 64px);overflow:auto;padding:16px 18px 18px}
.security-reset-form{display:grid;gap:12px;min-width:0}.security-reset-form label{min-width:0;font-size:11px;color:#486177;font-weight:700}.security-reset-form input:not([type=checkbox]){margin-top:6px;box-sizing:border-box;min-width:0}
.security-reset-target{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #d7e5f1;border-radius:12px;background:#f8fbfe}.security-reset-target>div{display:grid;gap:2px;min-width:0}.security-reset-target span{font-size:9px;color:#7d91a4}.security-reset-target strong{font-size:16px;color:#183f62}.security-reset-target small{font-size:11px;color:#627b91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.security-reset-auth-ok{flex:0 0 auto!important;padding:5px 8px;border-radius:999px;background:#eaf7ef;color:#187a4c!important;font-size:9px!important;font-weight:800}
.security-reset-impact{padding:11px 13px;border:1px solid #dce7f2;border-radius:11px;background:#fbfdff}.security-reset-impact strong{font-size:11px;color:#315270}.security-reset-impact ul{margin:7px 0 0;padding-left:18px;color:#61778c;font-size:10.5px;line-height:1.6}
.security-reset-recent{display:grid;gap:3px;padding:10px 12px;border:1px solid #efc77f;border-radius:10px;background:#fff8e9}.security-reset-recent strong{font-size:11px;color:#9a6112}.security-reset-recent span{font-size:9.5px;color:#8b765a}
.security-reset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.security-reset-reason{display:block}.security-reset-recovery{border:1px solid #e0e8f1;border-radius:10px;background:#fafcfe}.security-reset-recovery summary{cursor:pointer;padding:9px 11px;color:#70869a;font-size:10px;font-weight:700;user-select:none}.security-reset-recovery[open] summary{border-bottom:1px solid #e7eef5}.security-reset-recovery .security-check{padding:9px 11px!important;margin:0!important;color:#62788c;font-size:10px;font-weight:600}
.security-reset-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;margin-top:2px;padding-top:11px;border-top:1px solid #e4ecf4}.security-reset-actions button{min-height:40px;border-radius:9px;font-size:11px;font-weight:800}.security-reset-actions [data-reset-cancel]{background:#eef3f8;color:#48637d;border:1px solid #d7e2ed}.security-reset-actions .security-reset-confirm{background:#0968ed;color:#fff;border:1px solid #0968ed;box-shadow:0 7px 16px #0968ed22}
.security-reset-dialog [data-error]{margin:9px 0 0;color:#ad2431;font-size:10.5px;text-align:center}
@media(max-width:620px){.security-dialog.security-user-editor-dialog{width:calc(100vw - 14px);max-height:94vh;border-radius:14px}.security-user-editor-dialog .flow-modal-body{max-height:calc(94vh - 62px);padding:12px}.security-user-editor-dialog form>footer{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.security-dialog.security-reset-dialog{width:calc(100vw - 14px);border-radius:14px}.security-reset-dialog .flow-modal-body{padding:14px}.security-reset-grid,.security-reset-actions{grid-template-columns:1fr}.security-reset-target{align-items:flex-start;flex-direction:column}.security-account-actions-buttons{display:grid;grid-template-columns:1fr 1fr}.security-account-actions-buttons .security-danger-action{grid-column:1/-1}}
