*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{padding:16px 20px;background-color:#111827;color:#fff;border-bottom:1px solid #0b1220;display:flex;justify-content:center;align-items:center}.brand{display:inline-flex;align-items:center;gap:10px}.app-header h1{font-size:18px;font-weight:700;letter-spacing:.2px}.app-icon{font-size:20px;line-height:1}.success-banner{padding:12px 20px;background-color:#22c55e;color:#fff;text-align:center;font-weight:600;font-size:14px;border-bottom:2px solid #16a34a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.top-section{padding:20px;background-color:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.instructions-box{display:flex;flex-direction:column;gap:8px}.instructions-box label{font-weight:600;font-size:14px;color:#333}.instructions-box textarea{padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;max-height:100px}.instructions-box textarea:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.help-text{font-size:12px;color:#666}.instructions-actions{margin-top:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.log-panel{border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;display:flex;flex-direction:column}.log-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e0e0e0}.log-header h3{margin:0;font-size:14px;font-weight:600}.log-actions{display:flex;gap:8px}.button-ghost{padding:6px 10px;background:transparent;border:1px solid #d1d5db;border-radius:4px;font-size:12px;color:#374151;cursor:pointer}.button-ghost:hover{background:#eef2f7}.log-body{padding:10px 12px;max-height:140px;overflow-y:auto;background:#fff}.log-empty{color:#666;font-size:12px}.log-list{list-style:none;display:flex;flex-direction:column;gap:6px}.button-secondary{padding:10px 14px;background-color:#f3f4f6;color:#1f2937;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:8px}.button-secondary:hover{background-color:#e5e7eb;border-color:#cbd5e1}.button-secondary:disabled{cursor:not-allowed;opacity:.7}.ai-button{min-width:180px;justify-content:center}.button-success{padding:10px 14px;background-color:#22c55e;color:#fff;border:1px solid #16a34a;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:8px}.button-success:hover{background-color:#16a34a;border-color:#15803d}.button-success:disabled{opacity:.75;cursor:not-allowed}.button-success .spinner{border:2px solid rgba(255,255,255,.7);border-top-color:#fff}.spinner{width:14px;height:14px;border:2px solid #9ca3af;border-top-color:#2563eb;border-radius:50%;display:inline-block;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bottom-section{display:flex;flex:1;gap:0;overflow:hidden}.left-pane{flex:1;border-right:1px solid #e0e0e0;background-color:#fff;overflow:hidden}.middle-pane{width:320px;background-color:#fafafa;overflow-y:auto;border-right:1px solid #e0e0e0}.right-pane{width:350px;background-color:#f0f4f8;overflow-y:auto;border-left:1px solid #e0e0e0}.pdf-preview{display:flex;flex-direction:column;height:100%}.preview-header{padding:16px;border-bottom:1px solid #e0e0e0;background-color:#fff;flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.preview-header h3{margin:0;font-size:14px;font-weight:600;color:#333}.pdf-iframe{flex:1;border:none}.button-download{padding:8px 12px;background-color:#06c;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s}.button-download:hover{background-color:#0052a3}.empty-preview{display:flex;align-items:center;justify-content:center;flex:1;color:#999;text-align:center}.form-panel{display:flex;flex-direction:column;height:100%}.form-header{padding:16px;border-bottom:1px solid #e0e0e0;background-color:#fff;flex-shrink:0}.form-header h2{margin:0;font-size:16px;font-weight:600;color:#333}.form{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.inline-group{display:flex;flex-direction:column}.time-display{font-size:12px;color:#666;margin-bottom:4px;font-style:italic}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#333}.form-group input,.form-group textarea{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.form-group textarea{resize:vertical;min-height:80px}.button-primary{margin-top:auto;padding:12px 16px;background-color:#0078d4;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.button-primary:hover{background-color:#106ebe}.button-primary:active{background-color:#0d5ba8}.button-download-mobile{display:none;padding:12px 16px;background-color:#10b981;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.button-download-mobile:hover:not(:disabled){background-color:#059669}.button-download-mobile:disabled{opacity:.5;cursor:not-allowed;background-color:#9ca3af}.button-download-mobile-top{display:none;width:100%;padding:10px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s}.button-download-mobile-top:hover:not(:disabled){background-color:#059669}.button-download-mobile-top:disabled{opacity:.5;cursor:not-allowed;background-color:#9ca3af}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.calibration-panel{display:flex;flex-direction:column;height:100%;background-color:#f0f4f8}.calibration-header{padding:16px;border-bottom:1px solid #e0e0e0;background-color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.calibration-header h3{margin:0;font-size:14px;font-weight:600;color:#333}.button-apply{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s}.button-apply:hover{background-color:#218838}.button-save{padding:8px 12px;background-color:#06c;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s}.button-save:hover{background-color:#0052a3}.button-group{display:flex;gap:8px}.auto-update-notice{padding:8px 16px;background-color:#e7f3ff;border-bottom:1px solid #b3d9ff;text-align:center}.auto-update-notice small{font-size:11px;color:#06c}.calibration-section{padding:16px;border-bottom:1px solid #e0e0e0;background-color:#fff;margin-bottom:2px;cursor:pointer;transition:background-color .2s}.calibration-section:hover{background-color:#f8f9fa}.calibration-section.active{background-color:#e7f3ff}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h4{margin:0;font-size:13px;font-weight:600;color:#0078d4}.toggle-icon{font-size:18px;font-weight:700;color:#666}.controls-container{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.fields-list{overflow-y:auto;flex:1}.control-group{display:flex;align-items:center;gap:12px;margin-bottom:12px}.control-group label{flex:1;font-size:12px;font-weight:500;color:#555;display:flex;flex-direction:column;gap:4px}.control-group input[type=range]{width:100%;cursor:pointer}.number-input{width:70px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;text-align:center}.coordinates-display{margin-top:8px;padding:10px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px}.coordinates-display code{font-family:Monaco,Courier New,monospace;font-size:11px;color:#495057}@media (max-width: 768px){body{font-size:14px}.app-header{padding:12px 16px}.app-header h1{font-size:16px}.app-icon{font-size:18px}.top-section{padding:16px;grid-template-columns:1fr;gap:12px}.instructions-box label{font-size:13px}.instructions-box textarea{font-size:13px;min-height:80px}.help-text{font-size:11px}.ai-button{min-width:120px;font-size:12px;padding:8px 12px}.main-content{flex-direction:column}.bottom-section{display:flex;flex-direction:column}.left-pane{display:none}.middle-pane{width:100%;border:none}.pdf-preview{display:none}.form-panel{width:100%;max-height:none}.form-header h2{font-size:16px}.form-group label{font-size:12px}.form-group input,.form-group textarea{font-size:13px;padding:8px 10px}.button-primary{font-size:13px;padding:10px 16px}.button-download-mobile-top{display:block}.button-download-mobile{display:none}.log-body{max-height:40px;font-size:11px}.log-header h3{font-size:12px}.button-ghost{font-size:11px;padding:4px 8px}.log-list{gap:4px}.status-ok,.status-review,.status-missing{font-size:14px}.calibration-panel{display:none}.time-display{font-size:11px}.instructions-actions{flex-direction:column;align-items:stretch;gap:8px}.instructions-actions button{width:100%}}@media (max-width: 480px){.app-header{padding:10px 12px}.app-header h1{font-size:14px}.top-section,.form-panel,.form-header{padding:12px}.form-group{gap:6px}.form{gap:12px}}
