.privacy-upload { display: block; }
.privacy-upload span { display: block; }
.privacy-upload input { display: none; }
.privacy-sample-wrap { display: flex; justify-content: center; margin: 1rem 0; }
#privacy-status { margin: 1rem 0; color: var(--accent); overflow-wrap: anywhere; }
#privacy-canvas { display: block; width: 100%; height: auto; margin: 1rem 0; background: #fff; touch-action: none; cursor: crosshair; }
.privacy-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 1rem 0; }
.privacy-actions select { width: auto; max-width: 100%; }
.privacy-coordinates { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin: 1rem 0; }
.privacy-export { padding: 1rem; border: 1px solid var(--border-color); border-radius: 12px; margin: 1.5rem 0; }
.privacy-export p { font-size: .85rem; margin: .75rem 0; }
#privacy-candidates label { padding: .5rem; background: var(--bg-card); overflow-wrap: anywhere; }
#privacy-tool input[type=checkbox] { margin-right: .5rem; }
#privacy-tool button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
#privacy-tool summary { cursor: pointer; }
@media(max-width: 480px) { .privacy-coordinates { grid-template-columns: 1fr 1fr; } }
