.privacy-panel{margin-top:20px;padding:22px;border:1px solid #d7e0ee;border-radius:16px;background:#fff;color:#20324b;min-width:0}.privacy-panel p,.privacy-panel small{color:#586b83;line-height:1.5}.privacy-panel output{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.privacy-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.privacy-check{padding:16px;border:1px solid #d7e0ee;border-radius:12px}.privacy-check h3{font-size:15px;margin:10px 0}.privacy-check>span{display:inline-block;border-radius:20px;padding:5px 10px;font-size:12px;background:#eef2f8}.privacy-check[data-state=action]>span{background:#fff0d7;color:#815008}.privacy-check[data-state=verified]>span{background:#e6f6ed;color:#216044}.privacy-evidence{display:flex;align-items:end;gap:12px;margin:18px 0}.privacy-panel label{display:grid;gap:7px;min-width:0}.privacy-evidence label{flex:1}.privacy-panel textarea,.privacy-panel input,.privacy-panel select{box-sizing:border-box;max-width:100%;border:1px solid #ced9e8;border-radius:8px;padding:10px;background:#fff;color:#20324b;font:inherit}.privacy-panel textarea{width:100%;resize:vertical}.privacy-panel button{border:1px solid #ced9e8;border-radius:8px;padding:10px 14px;cursor:pointer;font:inherit}.privacy-actions{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}.privacy-actions label{flex:1;min-width:180px}.privacy-request{padding:18px 0;border-top:1px solid #d7e0ee;overflow-wrap:anywhere}.privacy-request header{display:flex;justify-content:space-between;gap:12px}.privacy-request small{display:block}.privacy-confirm{display:flex!important;align-items:start;margin:14px 0}.privacy-confirm input{width:auto!important;margin-top:4px;flex:none}.privacy-overdue{color:#b42318}.privacy-table-scroll{overflow:auto}.privacy-table{width:100%;border-collapse:collapse;font-size:13px}.privacy-table td,.privacy-table th{text-align:left;padding:10px;border-bottom:1px solid #e3e9f1;white-space:nowrap}.privacy-table th{font-weight:600}.privacy-request .button{margin:5px 5px 5px 0;white-space:normal}#privacy-password{width:min(100%,360px)}@media(max-width:650px){.privacy-panel{padding:16px}.privacy-evidence{display:grid}.privacy-request header{flex-direction:column}.privacy-actions{align-items:stretch}.privacy-actions>*{width:100%}.privacy-check-grid{grid-template-columns:1fr}}
.privacy-actions button{white-space:normal!important;height:auto;min-height:42px;line-height:1.4;overflow-wrap:anywhere;min-width:0}.privacy-panel output{background:transparent!important;color:#405b79!important;padding:0!important}.privacy-panel .panel-head{gap:12px;flex-wrap:wrap}

.privacy-document{margin:20px auto;max-width:780px;padding:0 18px;font-family:system-ui,sans-serif;background:#f5f7fa}

.privacy-documents{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.privacy-document-card{text-align:left;background:#f6f8fc;display:grid;gap:6px}.privacy-document-card:hover{border-color:#3264e8}.privacy-document-card small{font-size:12px}.privacy-evidence .privacy-evidence-status{flex:0 1 200px}.privacy-document-dialog{box-sizing:border-box;width:min(880px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:90dvh;overflow:auto;border:1px solid #ced9e8;border-radius:16px;padding:24px;background:#fff;color:#20324b}.privacy-document-dialog::backdrop{background:#12223899;backdrop-filter:blur(6px)}.privacy-document-dialog header{display:flex;align-items:start;justify-content:space-between;gap:16px}.privacy-document-dialog h2{margin:0;font-size:22px}.privacy-document-dialog button{border:1px solid #ced9e8;border-radius:8px;padding:10px 14px;font:inherit;cursor:pointer}.privacy-document-dialog pre{font:15px/1.7 system-ui,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.privacy-document-dialog p{font-size:12px;overflow-wrap:anywhere;color:#586b83}.privacy-document h2{margin-top:30px;font-size:21px}.privacy-document h3{font-size:17px}.privacy-document li{line-height:1.6;margin:10px 0}.privacy-document a{color:#194eb8}.privacy-document nav{line-height:2}.privacy-document{color:#20324b}.privacy-document .privacy-panel{overflow-wrap:anywhere}
@media(max-width:650px){.privacy-documents{grid-template-columns:1fr}.privacy-document-dialog{padding:16px}.privacy-document-dialog h2{font-size:18px}.privacy-evidence .privacy-evidence-status{width:100%}}
@media print{.privacy-document{max-width:none;margin:0;background:#fff}.privacy-document .privacy-panel{border:0;padding:0}.privacy-document nav{display:none}}

.privacy-document h1{font-size:clamp(24px,6vw,32px);line-height:1.2}

.privacy-automation { margin: 12px 0; padding: 12px 14px; border: 1px solid var(--border, #dce2eb); border-radius: 10px; background: var(--surface, #f7f9fc); }
.privacy-automation p { margin: 5px 0 0; font-size: 13px; overflow-wrap: anywhere; }

/* Monitoring access log; colours follow the shared admin theme. */
#app #privacy-access-panel { padding: 18px; color: var(--admin-text, #29374b); background: var(--admin-surface, #fff); border-color: var(--admin-border, #e4e9f0); }
#app #privacy-access-panel .panel-head { padding: 0 0 14px; align-items: flex-start; }
#app #privacy-access-panel :is(p, small, label) { color: var(--admin-muted, #66758a); }
#app #privacy-access-panel :is(button, input, select) { min-height: 36px; margin: 0; padding: 8px 10px; border: 1px solid var(--admin-border, #dce3ed); border-radius: 6px; color: var(--admin-text, #29374b); background: var(--admin-surface, #fff); font: inherit; font-size: 12px; line-height: 1.4; min-width: 0; }
#app #privacy-access-panel button { width: auto; white-space: nowrap; }
#app #privacy-access-panel button:hover:not(:disabled) { background: var(--admin-hover, #f0f4fb); border-color: var(--admin-accent, #285dde); }
#app #privacy-access-panel button:disabled { opacity: .48; cursor: default; }
#app #privacy-access-panel :is(input, select) { width: 100%; }
#app #privacy-access-panel :is(button, input, select, [tabindex]):focus-visible { outline: 2px solid var(--admin-accent, #285dde); outline-offset: 2px; }
#app #privacy-access-panel .privacy-access-filters { display: grid; grid-template-columns: minmax(180px, 1.4fr) minmax(160px, 1.2fr) minmax(150px, 1fr) minmax(125px, .85fr); gap: 10px; margin: 14px 0; align-items: end; }
#app #privacy-access-panel label { display: grid; gap: 5px; font-size: 11px; font-weight: 500; }
#app #privacy-access-panel .privacy-access-filter-actions { grid-column: 1 / -1; display: flex; gap: 8px; }
#app #privacy-access-panel button[type=submit] { background: var(--admin-selected, #edf3ff); color: var(--admin-accent, #285dde); border-color: var(--admin-border, #cfddf7); }
#app #privacy-access-panel .privacy-access-summary { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 2px 0 10px; }
#app #privacy-access-panel .privacy-access-summary label { display: flex; align-items: center; gap: 8px; }
#app #privacy-access-panel .privacy-access-summary select { width: 66px; }
#app #privacy-access-panel output { margin: 0; color: var(--admin-muted, #66758a) !important; font-size: 12px; }
#app #privacy-access-panel #privacy-access-count { color: var(--admin-text, #29374b) !important; font-weight: 600; }
#app #privacy-access-panel #privacy-access-message:not(:empty) { margin: 0 0 12px; padding: 10px !important; border-left: 3px solid var(--admin-accent, #285dde); }
#app #privacy-access-panel #privacy-access-message[role=alert] { color: var(--admin-danger, #ae302c) !important; border-color: var(--admin-danger, #ae302c); }
#app #privacy-access-panel #privacy-access-list[aria-busy=true] { opacity: .55; pointer-events: none; }
#app #privacy-access-panel .privacy-access-scroll { max-height: min(420px, 52dvh); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; border: 1px solid var(--admin-border, #e4e9f0); border-radius: 6px; }
#app #privacy-access-panel .privacy-table { min-width: 800px; width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; color: var(--admin-text, #29374b); font-size: 12px; }
#app #privacy-access-panel caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
#app #privacy-access-panel :is(th, td) { padding: 9px 12px; border-bottom: 1px solid var(--admin-border, #e4e9f0); white-space: normal; overflow-wrap: anywhere; vertical-align: top; line-height: 1.5; color: var(--admin-text, #29374b); }
#app #privacy-access-panel th { position: sticky; top: 0; z-index: 1; background: var(--admin-subtle, #f5f7fa); box-shadow: 0 1px 0 var(--admin-border, #e4e9f0); font-size: 11px; font-weight: 600; }
#app #privacy-access-panel th:nth-child(1) { width: 16%; }
#app #privacy-access-panel th:nth-child(2) { width: 26%; }
#app #privacy-access-panel th:nth-child(3) { width: 20%; }
#app #privacy-access-panel th:nth-child(4) { width: 19%; }
#app #privacy-access-panel th:nth-child(5) { width: 19%; }
#app #privacy-access-panel tr:last-child td { border-bottom: 0; }
#app #privacy-access-panel tbody tr:hover { background: var(--admin-hover, #f5f8fd); }
#app #privacy-access-panel td small { display: block; margin-top: 2px; font-size: 10px; line-height: 1.5; }
#app #privacy-access-panel td code { font: 11px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; color: inherit; }
#app #privacy-access-panel .privacy-access-result { display: inline-block; padding: 2px 5px; border-radius: 4px; background: var(--admin-subtle, #f5f7fa); font-size: 11px; }
#app #privacy-access-panel .privacy-access-result[data-result="2xx"] { color: var(--admin-success, #226343); background: var(--admin-success-bg, #ecf7f0); }
#app #privacy-access-panel .privacy-access-result[data-result="4xx"] { color: var(--admin-warning, #82541d); background: var(--admin-warning-bg, #fff5e5); }
#app #privacy-access-panel .privacy-access-result[data-result="5xx"] { color: var(--admin-danger, #ae302c); background: var(--admin-danger-bg, #fff0ee); }
#app #privacy-access-panel .privacy-access-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 0 0; font-size: 12px; }
#app #privacy-access-panel .privacy-access-pagination > div { display: flex; gap: 8px; }
#app #privacy-access-panel .privacy-access-empty { display: grid; gap: 8px; min-height: 150px; align-content: center; padding: 24px; border: 1px dashed var(--admin-border, #dce3ed); border-radius: 6px; text-align: center; }
#app #privacy-access-panel .privacy-access-health { margin: 10px 0 0; font-size: 10px; }
#app #privacy-access-panel .privacy-access-health:empty { display: none; }
@media(max-width:1100px) {
  #app #privacy-access-panel .privacy-access-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:600px) {
  #app #privacy-access-panel { padding: 14px; }
  #app #privacy-access-panel .panel-head { flex-direction: column; gap: 10px; }
  #app #privacy-access-panel .privacy-access-filters > label:nth-child(-n+2) { grid-column: 1 / -1; }
  #app #privacy-access-panel :is(input, select) { font-size: 16px; }
  #app #privacy-access-panel .privacy-access-scroll { max-height: 45dvh; }
}
#app #privacy-access-panel .privacy-access-scroll-hint { display: none; margin: 0 0 8px; font-size: 11px; }
@media(max-width:1000px) { #app #privacy-access-panel .privacy-access-scroll-hint { display: block; } }

/* Customer download: password and retry remain beside the chosen file. */
.privacy-download-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:90dvh;overflow:auto;padding:24px;border:1px solid var(--border,#ced9e8);border-radius:16px;background:var(--surface,#fff);color:var(--text,#20324b);font:15px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
.privacy-download-dialog::backdrop{background:#12223899;backdrop-filter:blur(4px)}
.privacy-download-dialog h2{font-size:22px;margin:0 0 12px}
.privacy-download-dialog p{margin:12px 0;color:inherit}
.privacy-download-dialog label{display:grid;gap:6px;margin:16px 0;font-weight:600}
.privacy-download-dialog input,.privacy-download-dialog select{box-sizing:border-box;width:100%;min-width:0;padding:11px;border:1px solid var(--border,#aabbd0);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}
.privacy-download-dialog button{padding:10px 14px;border:1px solid var(--border,#aabbd0);border-radius:8px;font:inherit;cursor:pointer}
.privacy-download-dialog .primary{background:var(--accent,#285dde);color:#fff}
.privacy-download-dialog .secondary{background:var(--surface,#fff);color:inherit}
.privacy-download-dialog :is(input,select,button):focus-visible{outline:3px solid var(--accent,#285dde);outline-offset:3px}
.privacy-download-dialog [aria-invalid=true]{border-color:#c53939}
.privacy-download-dialog output{display:block;margin:12px 0;color:inherit}
.privacy-download-dialog button:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.privacy-download-dialog{padding:18px}.privacy-download-dialog :is(input,select){font-size:16px}.privacy-download-dialog .privacy-actions{flex-wrap:wrap}}
#privacy-requests .privacy-request-overview-count{font-size:12px;color:var(--admin-muted,#64748b);margin:8px 0 14px}
#privacy-requests .privacy-request-overview-row{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--admin-border,#dce4ef);color:inherit;text-decoration:none}
.privacy-request-overview-row span:first-child{display:grid;gap:5px}.privacy-request-overview-row small{font-size:11px;color:var(--admin-muted,#64748b)}
.privacy-account-request>summary{padding:14px 16px;font-size:13px;color:var(--admin-text,#27364c)}
.privacy-account-request>summary>span{display:inline-block;margin-left:14px;color:var(--admin-muted,#64748b);font-size:11px}
.privacy-account-request .privacy-request-body{padding:0 16px 16px;border-top:1px solid var(--admin-border,#dce4ef)}
.privacy-request-technical{font-size:11px;margin-top:12px;color:var(--admin-muted,#64748b)}
.privacy-request-technical code{display:block;padding:10px;overflow-wrap:anywhere}
@media(max-width:600px){#privacy-requests .privacy-request-overview-row{grid-template-columns:minmax(0,1fr) 18px;gap:7px}.privacy-request-overview-row>span:nth-child(2){grid-column:1}.privacy-request-overview-row>span:last-child{grid-column:2;grid-row:1/3}.privacy-account-request>summary>span{display:block;margin:8px 0 0 23px}}
