:root{--color-bg:#f8f6f1;--color-surface:#fff;--color-primary:#b8860b;--color-primary-dark:#8b6508;--color-primary-light:#d4a017;--color-text:#2d2410;--color-text-muted:#7a6f55;--color-border:#e5dfd0;--color-success:#2d7a3e;--color-error:#c0392b;--color-accent:#c9a227;--shadow-sm:0 1px 3px #2d241014;--shadow-md:0 4px 12px #2d24101a;--shadow-lg:0 8px 24px #2d241026;--radius-sm:8px;--radius-md:12px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}#root{min-height:100vh}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}.app{max-width:1100px;margin:0 auto;padding:20px 16px 60px}.app-header{text-align:center;padding:32px 0 24px}.app-header h1{color:var(--color-primary-dark);justify-content:center;align-items:center;gap:10px;font-size:1.75rem;font-weight:700;display:flex}.app-header p{color:var(--color-text-muted);margin-top:6px;font-size:.95rem}.tabs{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:8px;max-width:400px;margin-bottom:24px;margin-left:auto;margin-right:auto;padding:6px;display:flex}.tab{border-radius:var(--radius-sm);color:var(--color-text-muted);flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.tab.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.tab:hover:not(.active){background:var(--color-bg);color:var(--color-text)}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:28px}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--color-bg);padding:40px 20px;transition:all .3s}.upload-zone:hover{border-color:var(--color-primary-light);background:#faf8f0}.upload-zone.dragover{border-color:var(--color-primary);background:#f5f0e0}.upload-zone .icon{color:var(--color-primary);margin-bottom:12px}.upload-zone h3{margin-bottom:6px;font-size:1.1rem;font-weight:600}.upload-zone p{color:var(--color-text-muted);font-size:.85rem}.btn{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-primary-light);background:#faf8f0}.btn-danger{color:var(--color-error);padding:6px 10px;font-size:.85rem}.btn-danger:hover{border-radius:var(--radius-sm);background:#fdf0ee}.loading{text-align:center;padding:40px 20px}.spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading p{color:var(--color-text-muted);font-size:.95rem}.result{margin-top:24px;animation:.4s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-image{border-radius:var(--radius-md);width:100%;max-width:200px;box-shadow:var(--shadow-md);margin-bottom:20px;margin-left:auto;margin-right:auto;display:block}.result-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.result-item{background:var(--color-bg);border-radius:var(--radius-sm);padding:14px 16px}.result-item .label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:4px;font-size:.75rem;font-weight:600}.result-item .value{color:var(--color-text);font-size:1rem;font-weight:600}.result-description{background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:16px;padding:16px;font-size:.95rem;line-height:1.6}.result-value-box{border-radius:var(--radius-md);text-align:center;border:1px solid var(--color-primary-light);background:linear-gradient(135deg,#f9f0d8,#fdf6e3);margin-bottom:20px;padding:18px}.result-value-box .label{color:var(--color-text-muted);margin-bottom:4px;font-size:.8rem;font-weight:600}.result-value-box .value{color:var(--color-primary-dark);font-size:1.5rem;font-weight:700}.confidence-badge{border-radius:100px;margin-bottom:16px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.confidence-hoch{color:#155724;background:#d4edda}.confidence-mittel{color:#856404;background:#fff3cd}.confidence-niedrig{color:#721c24;background:#f8d7da}.result-actions{flex-wrap:wrap;gap:12px;display:flex}.error-box{border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);background:#fdf0ee;margin-top:20px;padding:16px;font-size:.9rem}.collection-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.collection-header h2{color:var(--color-primary-dark);font-size:1.3rem;font-weight:700}.collection-count{background:var(--color-primary);color:#fff;border-radius:100px;padding:4px 14px;font-size:.85rem;font-weight:600}.coin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.coin-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s;overflow:hidden}.coin-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.coin-card img{object-fit:cover;background:var(--color-bg);width:100%;height:180px}.coin-card-body{padding:14px 16px}.coin-card-body h3{margin-bottom:4px;font-size:1rem;font-weight:600}.coin-card-meta{color:var(--color-text-muted);margin-bottom:8px;font-size:.8rem}.coin-card-value{color:var(--color-primary-dark);font-size:.9rem;font-weight:600}.empty-state{text-align:center;color:var(--color-text-muted);padding:60px 20px}.empty-state .icon{opacity:.4;margin-bottom:16px}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);overflow-y:auto}.modal img{object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:250px}.modal-body{padding:24px}.modal-body h2{color:var(--color-primary-dark);margin-bottom:12px;font-size:1.3rem;font-weight:700}.modal-meta{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.modal-meta div{font-size:.85rem}.modal-meta .label{color:var(--color-text-muted);font-size:.75rem;display:block}.modal-description{background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:16px;padding:14px;font-size:.9rem;line-height:1.6}.modal-value{border-radius:var(--radius-sm);text-align:center;border:1px solid var(--color-primary-light);background:linear-gradient(135deg,#f9f0d8,#fdf6e3);margin-bottom:16px;padding:14px}.modal-value .label{color:var(--color-text-muted);font-size:.75rem}.modal-value .value{color:var(--color-primary-dark);font-size:1.3rem;font-weight:700}.modal-notes{border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:60px;margin-bottom:16px;padding:10px 12px;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:12px;display:flex}@media (width<=600px){.app-header h1{font-size:1.4rem}.card{padding:20px}.result-grid,.coin-grid{grid-template-columns:1fr}.upload-zone{padding:30px 16px}}.preview-wrapper{margin-bottom:20px;position:relative}.preview-wrapper img{object-fit:contain;border-radius:var(--radius-md);background:var(--color-bg);width:100%;max-height:300px}.preview-remove{color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;display:flex;position:absolute;top:8px;right:8px}.preview-remove:hover{background:#000c}
