*{box-sizing:border-box}body{color:#1a1a1a;background:#f7f7f9;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{min-height:100vh}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-box{background:#fff;border:1px solid #e5e5e5;border-radius:12px;width:100%;max-width:340px;padding:2rem;box-shadow:0 4px 24px #0000000f}.login-box h1{text-align:center;margin-bottom:1.5rem}.container{max-width:800px;margin:0 auto;padding:2rem 1.5rem}h1{margin:0;font-size:1.6rem}.topbar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;transition:background .15s}button:hover:not(:disabled){background:#f0f0f0}button:disabled{opacity:.6;cursor:not-allowed}input,select{background:#fff;border:1px solid #ccc;border-radius:6px;padding:.55rem .7rem;font-family:inherit;font-size:.9rem}input:focus,select:focus{border-color:#06c;outline:none}#create-form{background:#fff;border:1px solid #e5e5e5;border-radius:10px;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem;padding:1rem;display:flex}#create-form input{flex:1;min-width:180px}#create-form button{color:#fff;background:#06c;border-color:#06c;font-weight:600}#create-form button:hover{background:#0559ad}#login-form{flex-direction:column;gap:.6rem;width:100%;display:flex}#login-form button{color:#fff;background:#06c;border-color:#06c;font-weight:600}@media (width<=600px){.container{padding:1.25rem 1rem}.topbar{flex-wrap:wrap;gap:.5rem}h1{font-size:1.3rem}#create-form{flex-direction:column}#create-form input,#create-form button{width:100%}}.confirm-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box{background:#fff;border-radius:10px;width:90%;max-width:320px;padding:1.5rem;box-shadow:0 8px 30px #00000026}.confirm-box p{color:#333;margin:0 0 1.2rem;font-size:.95rem}.confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.confirm-actions .danger{color:#b30000;background:#fff0f0;border-color:#e33}.qr-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;padding:1.25rem;transition:border-color .15s,background .15s;display:flex}.qr-card--editing{background:#fffdf5;border-color:#f0a500}.qr-image{flex-direction:column;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.qr-canvas{border:1px solid #eee;border-radius:4px;width:96px!important;height:96px!important}.download-row{gap:.4rem;display:flex}.download-row select{padding:.3rem .4rem;font-size:.75rem}.download-row button{padding:.3rem .6rem;font-size:.75rem}.qr-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.qr-info p{margin:0;font-size:.9rem}.qr-info label{color:#444;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.qr-info input{width:100%;font-weight:400}.attribution-preview{align-items:center;gap:.6rem;margin:.2rem 0;display:flex}.attribution-preview img{object-fit:cover;border:1px solid #ddd;border-radius:6px;height:98px}.attribution-placeholder{color:#999;border:1px dashed #ccc;border-radius:6px;justify-content:center;align-items:center;width:64px;height:64px;font-size:.7rem;display:flex}.upload-label{color:#06c;cursor:pointer;font-size:.8rem;text-decoration:underline}.badge{color:#666;vertical-align:middle;background:#eee;border-radius:10px;margin-left:.5rem;padding:.15rem .5rem;font-size:.7rem}.actions{gap:.5rem;margin-top:.3rem;display:flex}.actions .danger{color:#b30000;background:#fff0f0;border-color:#e33}.actions .danger:hover{background:#ffe0e0}@media (width<=480px){.qr-card{text-align:center;flex-direction:column;align-items:center;gap:1rem}.qr-info{text-align:left;width:100%}.attribution-preview{justify-content:center}.actions{flex-wrap:wrap}.actions button{flex:1;min-width:100px}}
