:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f1f5f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}input,select,button{font-family:inherit;font-size:1rem}input,select{padding:.6rem .75rem;border-radius:10px;border:1px solid #cbd5f5;background:#fff}button{border-radius:10px;border:none;padding:.65rem 1.2rem;font-weight:600;background:#1d4ed8;color:#fff;cursor:pointer;transition:background .2s ease}button:disabled{background:#94a3b8;cursor:not-allowed}button:not(:disabled):hover{background:#1e40af}.app{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 3rem;display:flex;flex-direction:column;gap:2rem}.app__header{display:flex;flex-direction:column;gap:1rem}.app__header h1{margin:0 0 .5rem}.app__session{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.app__session-label{font-size:.95rem;color:#475569}.app__main{display:grid;gap:1.5rem}.card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 10px 24px #0f172a14}.form{display:grid;gap:1rem}.form--inline{grid-template-columns:1fr auto;align-items:end}.form__field{display:grid;gap:.4rem;font-size:.95rem}.form__error{color:#b91c1c;margin-top:.75rem}.form__success{color:#15803d;margin-top:.75rem}.scanner{display:grid;gap:1rem}.scanner__video{width:100%;max-height:320px;background:#0f172a;border-radius:12px}.scanner__controls{display:flex;gap:.75rem;flex-wrap:wrap}.upload-panel{display:grid;gap:1rem}.upload-panel__field select{width:100%}
