.approvals-dialog{width:min(1120px,90vw);max-height:88vh;border:1px solid #cbd5e1;border-radius:14px;padding:24px;color:#1e293b;background:#fff}.approvals-dialog::backdrop{background:#17203380}.approvals-dialog header,.approvals-tools,.approvals-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.approvals-dialog header{justify-content:space-between;margin-bottom:16px}.approvals-dialog header h2{margin:0}.approvals-dialog button,.approvals-dialog select,.approvals-dialog input,.approvals-dialog textarea{font:inherit}.approvals-dialog button,.approval-card button{padding:8px 12px;cursor:pointer}.approvals-dialog button:disabled{cursor:default;opacity:.55}.approvals-tools{margin:14px 0}.approvals-tools input{min-width:300px}.approvals-table{width:100%;border-collapse:collapse}.approvals-table td,.approvals-table th{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}.approvals-table small{display:block;color:#64748b}.approval-state{display:inline-block;padding:4px 9px;border-radius:16px;background:#eef2f6;font-weight:600}.approval-state[data-state=approved]{background:#dcfce7;color:#166534}.approval-state[data-state=rejected]{background:#fee2e2;color:#991b1b}.approval-state[data-state=pending]{background:#fef3c7;color:#854d0e}.approval-card{border:1px solid #d8e0eb;border-radius:12px;padding:18px;background:#fff;margin:12px 0}.approval-card h3{margin-top:0}.approvals-fields{display:grid;gap:16px;margin:16px 0}.approvals-fields label{display:grid;gap:7px}.approvals-fields input:not([type=checkbox]),.approvals-fields select,.approvals-fields textarea{padding:9px;border:1px solid #aab8ca;border-radius:6px;box-sizing:border-box;max-width:100%}.approval-targets{max-height:250px;overflow:auto;padding:12px;border:1px solid #d8e0eb}.approval-targets label{display:flex;align-items:center;padding:6px;gap:10px}.approval-otp{font-size:24px!important;letter-spacing:.25em;width:210px}.approval-statement{padding:14px;background:#f1f5f9;border-left:4px solid #4567a1;white-space:pre-wrap}.approval-status{min-height:24px;white-space:pre-wrap}.approval-card .approvals-actions{margin-top:12px}.approval-history{margin-top:18px;border-top:1px solid #e2e8f0;padding-top:10px}.approval-history p{font-size:14px}.approval-receipt dl{display:grid;grid-template-columns:180px 1fr;gap:8px}.approval-receipt dd{margin:0;overflow-wrap:anywhere}
/* Nitidezza: desktop dialog anatomy shared with baseline and template windows. */
body dialog.approvals-dialog[data-editor-approvals]{width:min(1240px,calc(100vw - 64px));max-height:calc(100vh - 64px);padding:0;overflow:hidden;box-sizing:border-box;font-size:14px;border-radius:10px}
body dialog.approvals-dialog[data-editor-approvals][open]{display:flex;flex-direction:column}
body dialog.approvals-request[data-editor-approvals]{width:min(760px,calc(100vw - 64px))}
body dialog.approvals-detail[data-editor-approvals]{width:min(980px,calc(100vw - 64px))}
body .approvals-dialog[data-editor-approvals]>.dialog-head{flex:0 0 auto;padding:18px 24px;margin:0;border-bottom:1px solid #dce3ee;flex-wrap:nowrap;background:#fff}
body .approvals-dialog[data-editor-approvals]>.dialog-head h2{font-size:21px;line-height:1.3;margin:0;min-width:0;overflow-wrap:anywhere}
body .approvals-dialog[data-editor-approvals]>.dialog-head button{flex:0 0 auto}
body .approvals-dialog[data-editor-approvals]>.dialog-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding:18px 24px;scrollbar-gutter:stable}
body .approvals-dialog[data-editor-approvals]>.dialog-actions{flex:0 0 auto;display:flex;align-items:center;gap:16px;padding:12px 24px;background:#f8fafd;border-top:1px solid #dce3ee}
.approvals-dialog[data-editor-approvals] button{border:1px solid #bdcce0;border-radius:6px;background:#fff;color:#243e59;font-size:13px;min-height:36px;line-height:1.35}
.approvals-dialog[data-editor-approvals] button.primary{background:#0055db;color:#fff;border-color:#0055db;font-weight:600}
.approvals-dialog button:focus-visible,.approvals-dialog select:focus-visible,.approvals-dialog input:focus-visible,.approvals-dialog textarea:focus-visible{outline:3px solid #3875dd;outline-offset:2px}
.approvals-dialog[data-editor-approvals] .approval-status{margin:0 0 12px;min-height:0;overflow-wrap:anywhere}
.approvals-dialog[data-editor-approvals] .approval-status:empty{display:none}
.approvals-dialog .approval-status[role=alert]{color:#a23d30;background:#fff3f0;border:1px solid #e8b4a9;border-radius:6px;padding:10px 12px}
.approvals-dialog .approvals-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
.approvals-exports,.approvals-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.approvals-filters{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;margin-bottom:16px}
.approvals-filters input,.approvals-filters select{width:100%;min-width:0}
.approvals-filters input{flex:1 1 300px;min-width:240px}
.approvals-filters input,.approvals-filters select{box-sizing:border-box;min-height:36px;border:1px solid #bdcce0;border-radius:6px;padding:7px 10px;color:#243e59;background:#fff;font-size:13px}
.approvals-filters select{min-width:160px}
.approvals-list{min-height:140px}.approvals-list[aria-busy=true]{opacity:.6}
.approvals-table{table-layout:fixed;font-size:13px}
.approvals-table th{font-size:12px;font-weight:600;color:#53647c;background:#f3f6fb}
.approvals-table th,.approvals-table td{padding:11px 10px;overflow-wrap:anywhere}
.approvals-table th:nth-child(1){width:18%}.approvals-table th:nth-child(2){width:27%}.approvals-table th:nth-child(3){width:14%}.approvals-table th:nth-child(4){width:12%}.approvals-table th:nth-child(5){width:14%}.approvals-table th:nth-child(6){width:15%}
.approval-row-actions button{display:block;margin:0 0 6px;text-align:left;width:100%}
.approvals-pagination{display:flex;flex:1 1 auto;align-items:center;gap:12px;flex-wrap:wrap;color:#53647c;font-size:12px}
.approvals-pagination span{min-width:140px;text-align:center}
.approval-empty{padding:28px 20px;border:1px dashed #cbd5e1;border-radius:8px;color:#53647c}
.approval-empty h3{font-size:16px;margin:0 0 8px}.approval-empty p{margin:0}
.approvals-dialog .approval-form-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}
.approvals-dialog .approvals-fields{margin:0}.approval-form-fields label>span{font-weight:600;color:#243e59}
.approvals-dialog .approval-targets{max-height:240px;min-width:0;border-radius:6px;display:grid;gap:6px}
.approval-targets legend{font-weight:600;padding:0 6px}.approval-targets label{display:flex;align-items:flex-start;gap:10px;padding:8px;border-radius:5px;overflow-wrap:anywhere}
.approval-targets label:has(input:checked){background:#eaf2ff}.approval-targets input{flex:0 0 auto;margin-top:3px;accent-color:#0055db}
.approval-selection-hint{margin:0;padding:10px 12px;background:#f0f5fd;border-radius:6px;color:#53647c;font-size:13px;overflow-wrap:anywhere}
.approval-summary h3{font-size:20px;margin:0 0 12px;overflow-wrap:anywhere}.approval-summary{margin-bottom:20px}
.approval-metadata{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 16px;margin:18px 0 0}
.approval-metadata dt{color:#53647c}.approval-metadata dd{margin:0;overflow-wrap:anywhere}
.approval-section{padding-top:18px;margin-top:18px;border-top:1px solid #e2e8f0}.approval-section h3,.approval-history h3{font-size:16px;margin:0 0 12px}
.approval-section p{white-space:pre-wrap;overflow-wrap:anywhere}.approval-preview{display:block;max-width:100%;max-height:460px;object-fit:contain;border:1px solid #dce3ee;border-radius:6px;background:#fff;margin-bottom:12px}
.approval-frozen{max-height:300px;overflow:auto;padding:12px;border:1px solid #dce3ee;border-radius:6px;background:#f8fafd;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.approval-history ol{padding-left:20px;line-height:1.7}.approval-history li{overflow-wrap:anywhere;margin-bottom:8px}
/* Portal confirmation keeps its own markup, with bounded desktop scrolling. */
body dialog.approvals-dialog:not([data-editor-approvals]){width:min(760px,calc(100vw - 64px));max-height:calc(100vh - 64px);overflow:auto;box-sizing:border-box}
