.conv-container { max-width: 600px; margin: 20px auto; border: 1px solid var(--border); padding: 20px; background: rgba(0,0,0,0.1); }
.tool-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.tool-table td { padding: 8px; border-bottom: 1px solid rgba(156, 122, 151, 0.2); }
.tool-table label { font-weight: bold; color: var(--primary); }

.preview-box { width: 100%; height: 300px; background: #222; border: 1px solid var(--border); margin: 15px 0; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; cursor: crosshair; }
#pdfPreviewCanvas { max-width: 100%; max-height: 100%; display: none; }
.preview-placeholder { color: var(--accent); position: absolute; pointer-events: none; text-align: center; }

input[type="file"], input[type="text"], input[type="number"], select { 
    background: var(--dark-bg); 
    color: var(--primary); 
    border: 1px solid var(--secondary); 
    padding: 5px; 
    box-sizing: border-box;
}

.action-btn { width: 100%; padding: 12px; font-weight: bold; background: var(--primary); color: var(--dark-bg); border: none; cursor: pointer; margin-top: 10px; }
.action-btn:hover { background: var(--secondary); }

#downloadLink { display: none; margin-top: 15px; text-align: center; border: 1px dashed var(--primary); padding: 10px; text-decoration: none; color: var(--primary); font-weight: bold; }

.coord-display { font-size: 12px; color: var(--secondary); font-family: monospace; }
.overlay-dot { position: absolute; width: 10px; height: 10px; background: red; border-radius: 50%; transform: translate(-50%, -50%); display: none; pointer-events: none; z-index: 10;}