*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#f8f7f4;color:#2d2a26;min-height:100vh}.container{max-width:640px;margin:0 auto;padding:48px 24px}header{text-align:center;margin-bottom:40px}header h1{font-size:28px;font-weight:600;color:#1a5c3a;letter-spacing:-.5px}.subtitle{color:#7a756d;font-size:15px;margin-top:4px}.scanner{display:flex;gap:8px;margin-bottom:24px}.scanner input{flex:1;padding:12px 16px;font-size:16px;border:2px solid #d9d5cd;border-radius:8px;background:#fff;outline:none;transition:border-color .15s;font-family:inherit}.scanner input:focus{border-color:#1a5c3a}.scanner input:disabled{opacity:.6}.scanner button{padding:12px 24px;font-size:15px;font-weight:500;background:#1a5c3a;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .15s;font-family:inherit;white-space:nowrap}.scanner button:hover:not(:disabled){background:#14472e}.scanner button:disabled{opacity:.5;cursor:not-allowed}.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:24px}.book-card{display:flex;gap:20px;background:#fff;border:1px solid #e5e2db;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000f}.book-cover{width:120px;height:auto;border-radius:4px;flex-shrink:0;align-self:flex-start;box-shadow:0 2px 8px #0000001f}.book-info{min-width:0}.book-info h2{font-size:20px;font-weight:600;line-height:1.3;margin-bottom:4px}.book-info h3{font-size:15px;font-weight:400;color:#7a756d;margin-bottom:8px}.authors{font-size:15px;color:#4a4640;margin-bottom:12px}.meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:#7a756d;margin-bottom:12px}.categories{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag{font-size:12px;background:#eef5e9;color:#1a5c3a;padding:3px 10px;border-radius:12px}.isbn-display{font-size:13px;color:#a09b93;font-family:SF Mono,Consolas,monospace}.header-row{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:4px}.header-row .subtitle{margin-top:0}.logout-btn{font-size:13px;font-family:inherit;color:#7a756d;background:none;border:1px solid #d9d5cd;border-radius:6px;padding:3px 12px;cursor:pointer;transition:all .15s}.logout-btn:hover{color:#991b1b;border-color:#fecaca;background:#fef2f2}.login-form{display:flex;flex-direction:column;gap:12px;max-width:360px;margin:0 auto}.login-form input{padding:12px 16px;font-size:16px;border:2px solid #d9d5cd;border-radius:8px;background:#fff;outline:none;transition:border-color .15s;font-family:inherit}.login-form input:focus{border-color:#1a5c3a}.login-form input:disabled{opacity:.6}.login-form button{padding:12px 24px;font-size:15px;font-weight:500;background:#1a5c3a;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .15s;font-family:inherit;margin-top:4px}.login-form button:hover:not(:disabled){background:#14472e}.login-form button:disabled{opacity:.5;cursor:not-allowed}.login-form .error{margin-bottom:0}.loading{text-align:center;color:#7a756d;padding:48px 0;font-size:15px}@media(max-width:480px){.container{padding:32px 16px}.book-card{flex-direction:column;align-items:center;text-align:center}.meta,.categories{justify-content:center}}
