.local-drop { padding: 20px; margin: 20px 0; border: 1px dashed #a8b8d6; border-radius: 16px; background: #f8faff; }
.local-drop input[type=file] { display:block; max-width:100%; margin: 14px 0; }
.local-file { display:flex; align-items:center; gap:10px; padding:12px 0; border-top:1px solid #dce4f1; }
.local-file span { flex:1; min-width:0; overflow-wrap:anywhere; }
.local-file small { display:block; color:#607087; }
.local-thumb { width:48px; height:48px; object-fit:contain; }
.local-privacy { font-size:13px; color:#607087; }
#local-error,.local-error { color:#a52d38; overflow-wrap:anywhere; }
.local-results { display:flex; flex-wrap:wrap; gap:10px; max-height:320px; overflow:auto; }
.local-results a { text-decoration:none; }
.local-history-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:10px; width:100%; padding:12px; margin:10px 0; border:1px solid #dce4f1; border-radius:12px; background:white; }
.local-history-open { display:flex; flex-direction:column; gap:5px; min-width:0; padding:3px; border:0; background:transparent; color:inherit; font:inherit; text-align:start; cursor:pointer; touch-action:manipulation; }
.local-history-row span,.local-history-row strong { overflow-wrap:anywhere; }
.local-history-row small { color:#607087; }
.local-history-row:focus-within { border-color:#7194ef; }
.local-history-open:hover strong { color:#315eda; }
.local-history-delete { display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px; padding:10px; color:#607087; cursor:pointer; touch-action:manipulation; }
.local-history-delete svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.local-history-delete:hover { color:#a52d38; background:#fff0f1; }
.local-history-delete:disabled { opacity:.55; cursor:wait; }
.local-history-confirm { grid-column:1/-1; padding-block-start:12px; border-block-start:1px solid #dce4f1; }
.local-history-confirm p { margin:0 0 10px; font-size:14px; }
.local-history-confirm .dialog-actions { margin:0; }
.local-history-confirm-delete { color:#a52d38; border-color:#e4b9bf; }
.local-history-confirm-delete:hover { background:#fff0f1; }
#local-history-status { color:#52627a; font-size:13px; }
#local-history-status:empty { display:none; }
#action-dialog:has(#local-history-list) .dialog-label { font-size:13px; line-height:1.5; }
#action-dialog:has(#local-history-list) .dialog-top .icon-button { flex-shrink:0; }
.local-pending { background:#edf0f4; color:#607087; }
.local-preview { margin:20px 0 0; }
.local-preview img { display:block; max-width:100%; max-height:480px; margin:auto; border:1px solid #dce4f1; }
.local-preview figcaption { margin-top:10px; color:#607087; font-size:13px; }
.local-mode progress { width:100%; accent-color:#315eda; }
.local-mode .dialog-actions { flex-wrap:wrap; }
.local-mode .dialog-body { overflow-wrap:anywhere; }
.local-mode input:focus-visible, .local-mode button:focus-visible, .local-mode a:focus-visible { outline:3px solid #7194ef; outline-offset:3px; }
.sign-page { max-width:760px; margin:40px auto; padding:24px; }
#signature-canvas { display:block; max-width:100%; border:1px solid #a8b8d6; background:white; touch-action:none; }
#sign-error { color:#a52d38; }
