:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--primary-color: var(--tg-theme-button-color);--text-color: var(--tg-theme-text-color);--bg-color: var(--tg-theme-bg-color);--success-color: #28a745;--error-color: #dc3545;--warning-color: #ffc107;--border-color: #dee2e6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6}.container{max-width:100%;margin:0 auto;padding:16px;min-height:100vh;display:flex;flex-direction:column}.app-header{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.app-header h1{font-size:24px;margin-bottom:8px;color:var(--primary-color)}.user-info{font-size:14px;color:#666}.app-main{flex:1;display:flex;flex-direction:column}.app-footer{text-align:center;padding:16px 0;margin-top:24px;border-top:1px solid var(--border-color);font-size:12px;color:#666}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{text-align:center;padding:24px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24}.error h2{margin-bottom:16px;color:var(--error-color)}.document-upload{display:flex;flex-direction:column;gap:24px}.upload-header{text-align:center}.upload-header h2{margin-bottom:16px;font-size:20px}.step-indicator{display:flex;justify-content:center;gap:16px;margin-bottom:24px}.step{width:32px;height:32px;border-radius:50%;background-color:#e9ecef;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;transition:all .3s ease}.step.completed{background-color:var(--primary-color);color:#fff}.status-message{padding:12px 16px;border-radius:6px;font-size:14px;text-align:center}.status-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-message.info{background-color:#cce7ff;border:1px solid #b3d7ff;color:#004085}.upload-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.upload-actions button{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.upload-btn{background-color:var(--primary-color);color:#fff}.upload-btn:hover:not(:disabled){background-color:#1c6ea4}.upload-btn:disabled{background-color:#6c757d;cursor:not-allowed}.back-btn{background-color:#f8f9fa;color:#495057;border:1px solid var(--border-color)}.back-btn:hover:not(:disabled){background-color:#e9ecef}.reset-btn{background-color:var(--warning-color);color:#212529}.reset-btn.secondary{background-color:#6c757d;color:#fff}.reset-btn:hover:not(:disabled){background-color:#e0a800}.upload-info{background-color:#f8f9fa;padding:16px;border-radius:6px;border:1px solid var(--border-color);text-align:center}.upload-info h4{margin-bottom:8px;color:var(--primary-color)}.file-upload{width:100%}.upload-area{border:2px dashed var(--border-color);border-radius:12px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#f8f9fa}.upload-area:hover:not(.disabled){border-color:var(--primary-color);background-color:#e3f2fd}.upload-area.drag-over{border-color:var(--primary-color);background-color:#e3f2fd}.upload-area.disabled{opacity:.6;cursor:not-allowed}.upload-icon{font-size:48px;margin-bottom:16px}.upload-text h3{margin-bottom:8px;color:var(--text-color)}.upload-text p{margin-bottom:4px;color:#6c757d}.file-requirements{font-size:12px;color:#6c757d;margin-top:16px}.file-selected{display:flex;align-items:center;padding:16px;background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:8px;gap:16px}.file-info{display:flex;align-items:center;gap:12px;flex:1}.file-icon{font-size:24px}.file-details h4{margin-bottom:4px;font-size:16px}.file-details p{font-size:12px;color:#6c757d;margin:2px 0}.remove-file-btn{background:none;border:none;font-size:18px;cursor:pointer;color:var(--error-color);padding:8px;border-radius:4px;transition:background-color .2s ease}.remove-file-btn:hover{background-color:#f8d7da}.seal-selector{width:100%}.seal-selector h3{text-align:center;margin-bottom:24px;color:var(--primary-color)}.seals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.seal-option{border:2px solid var(--border-color);border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;background-color:#fff;position:relative}.seal-option:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.seal-option.selected{border-color:var(--primary-color);background-color:#e3f2fd}.seal-image-container{text-align:center;margin-bottom:12px}.seal-image{width:80px;height:80px;object-fit:contain;border-radius:8px}.seal-placeholder{width:80px;height:80px;background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:12px;color:#6c757d}.seal-info{text-align:center}.seal-info h4{margin-bottom:4px;font-size:16px;color:var(--text-color)}.seal-info p{font-size:12px;color:#6c757d}.selected-indicator{position:absolute;top:8px;right:8px;background-color:var(--success-color);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.loading-spinner{text-align:center;padding:48px;color:#6c757d}.no-seals{text-align:center;padding:24px;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404}.no-seals ul{list-style:none;margin-top:16px}.no-seals li{font-family:monospace;font-size:12px;padding:4px;background-color:#f8f9fa;margin:4px 0;border-radius:4px}.pdf-viewer{width:100%;max-width:900px;margin:0 auto;display:flex;flex-direction:column}.pdf-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;background-color:#f8f9fa;border-radius:8px;flex-wrap:wrap;gap:12px;border:1px solid var(--border-color)}.page-controls,.zoom-controls{display:flex;align-items:center;gap:8px}.pdf-controls button{padding:8px 16px;border:1px solid var(--border-color);background-color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;color:var(--text-color)}.pdf-controls button:hover:not(:disabled){background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pdf-controls button:disabled{opacity:.6;cursor:not-allowed;background-color:#f8f9fa}.page-info{font-size:14px;color:var(--text-color);white-space:nowrap;font-weight:500;padding:0 8px}.pdf-container{border:1px solid var(--border-color);border-radius:8px;background-color:#fff;min-height:400px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.pdf-page-wrapper{position:relative;display:flex;justify-content:center;align-items:center;padding:20px;width:100%;height:100%}.pdf-page-wrapper canvas{box-shadow:0 4px 12px #00000026;border-radius:4px;background-color:#fff;border:1px solid var(--border-color);max-width:100%;max-height:70vh;object-fit:contain}.seal-indicator{position:absolute;z-index:10;pointer-events:none}.seal-preview{border:2px solid var(--primary-color);border-radius:6px;padding:3px;box-shadow:0 2px 8px #0003}.seal-preview img{display:block;border-radius:4px}.loading-spinner{text-align:center;padding:60px 24px;color:#6c757d;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.error-message{text-align:center;padding:48px 24px;color:var(--error-color);background-color:#f8d7da;border-radius:8px;margin:20px}.no-pdf{text-align:center;padding:60px 24px;color:#6c757d;background-color:#f8f9fa;border-radius:8px;border:2px dashed var(--border-color);margin:20px}.pdf-instructions{text-align:center;margin-top:16px;padding:12px 16px;background-color:#e3f2fd;border-radius:8px;font-size:14px;color:#1565c0;border:1px solid #bbdefb;font-weight:500}.seal-placement .seal-positions{margin-top:24px;padding:16px;background-color:#f8f9fa;border-radius:8px;border:1px solid var(--border-color)}.seal-positions h4{margin-bottom:12px;color:var(--primary-color)}.seal-positions ul{list-style:none}.seal-positions button{background-color:var(--error-color);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.seal-positions button:hover{background-color:#c82333}@media (max-width: 768px){.container{padding:12px}.seals-grid{grid-template-columns:1fr}.pdf-controls{flex-direction:column;gap:16px}.page-controls,.zoom-controls{flex-wrap:wrap;justify-content:center}.upload-actions{flex-direction:column}.upload-actions button{min-width:100%}.pdf-viewer{max-width:100%}.pdf-page-wrapper{padding:10px}.pdf-page-wrapper canvas{max-height:60vh}.pdf-controls button{padding:6px 12px;font-size:12px;color:#000}.page-info{font-size:12px}}
