:root{--bg:#121212;--surface:#1e1e1e;--surface-alt:#2a2a2a;--primary:#d4944c;--primary-hover:#c07f3a;--text:#e8e4e0;--text-muted:#8a8480;--danger:#c0392b;--success:#5a9a6a;--radius:8px;--max-width:480px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:.01em;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{max-width:var(--max-width);min-height:100dvh;margin:0 auto;padding:16px}h1{margin-bottom:16px;font-size:1.5rem}h2{margin-bottom:12px;font-size:1.2rem}button{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;padding:12px 24px;font-size:1rem;transition:background .2s}button:hover{background:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--surface-alt)}button.danger{background:var(--danger)}input,textarea{background:var(--surface);border:1px solid var(--surface-alt);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:12px 16px;font-size:1rem}input:focus,textarea:focus{border-color:var(--primary)}textarea{resize:vertical;min-height:80px}.card{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;padding:16px}.btn-row{gap:8px;display:flex}.btn-row button{flex:1}.photo-item{background:var(--surface);border-radius:var(--radius);margin-bottom:8px;position:relative;overflow:hidden}.photo-item img{object-fit:cover;width:100%;height:200px}.photo-item .actions{justify-content:flex-end;gap:4px;padding:8px;display:flex}.photo-item .actions button{width:auto;padding:6px 10px;font-size:.85rem}.status-badge{text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.pending{color:#d4944c;background:#d4944c22}.status-badge.processing{color:#7a9ab5;background:#7a9ab522}.status-badge.done{color:#5a9a6a;background:#5a9a6a22}.status-badge.error{color:#c0392b;background:#c0392b22}.empty{color:var(--text-muted);text-align:center;padding:40px 16px}.loader{justify-content:center;padding:40px;display:flex}.loader:after{content:"";border:3px solid var(--surface-alt);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.add-photo-btn{border:2px dashed var(--surface-alt);color:var(--text-muted);background:0 0;margin-bottom:8px;padding:24px}.field{margin-bottom:16px}.field label{color:var(--text-muted);margin-bottom:6px;font-size:.85rem;display:block}.carousel-container{border-radius:var(--radius);position:relative;overflow:hidden}.carousel-track{transition:transform .3s;display:flex}.carousel-slide{min-width:100%;position:relative}.carousel-slide img{object-fit:contain;background:var(--surface);width:100%;height:60vh}.carousel-indicator{text-align:center;color:var(--text-muted);padding:12px;font-size:.9rem}.record-btn{cursor:pointer;background:#c0392b;border:4px solid #c0392b44;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:16px auto;padding:0;transition:all .2s;display:flex}.record-btn.recording{animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{border-color:#c0392b44;transform:scale(1)}50%{border-color:#c0392b;transform:scale(1.1)}}.transcript-card{background:var(--surface);border-radius:var(--radius);color:var(--text);margin-top:8px;padding:12px 16px;font-size:.9rem;line-height:1.5}.splash{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:80vh;display:flex}.splash p{color:var(--text-muted);max-width:300px;line-height:1.6}.review-list .review-item{border-bottom:1px solid var(--surface-alt);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.review-list .review-item:last-child{border-bottom:none}.back-link{color:var(--primary);margin-bottom:16px;font-size:.9rem;text-decoration:none;display:inline-block}.qr-container{border-radius:var(--radius);background:#fff;margin:16px auto;padding:16px;display:inline-block}
