*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;color:#2a2a2a;font-family:Heebo,system-ui,-apple-system,Segoe UI,Arial,sans-serif}button{font-family:inherit}:root{--yellow:#f7c948;--charcoal:#2a2a2a;--coral:#e8775f;--cream:#fdf8ec;--line:#2a2a2a1f}.screen{background:var(--cream);place-items:center;min-height:100dvh;padding:24px;display:grid}.card{border:2px solid var(--charcoal);width:100%;max-width:380px;box-shadow:6px 6px 0 var(--charcoal);text-align:center;background:#fff;border-radius:20px;padding:36px 28px}.logo{letter-spacing:.5px;color:var(--charcoal);opacity:.7;margin-bottom:18px;font-size:14px;font-weight:800}.card h1{color:var(--charcoal);margin:0 0 8px;font-size:26px}.sub{color:#2a2a2ab3;margin:0 0 24px;font-size:15px;line-height:1.5}.google-btn{background:var(--yellow);width:100%;color:var(--charcoal);border:2px solid var(--charcoal);cursor:pointer;box-shadow:3px 3px 0 var(--charcoal);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:16px;font-weight:700;transition:transform 80ms,box-shadow 80ms;display:flex}.google-btn:hover{box-shadow:4px 4px 0 var(--charcoal);transform:translate(-1px,-1px)}.google-btn:active{box-shadow:1px 1px 0 var(--charcoal);transform:translate(2px,2px)}.ghost-btn{color:var(--charcoal);border:2px solid var(--charcoal);cursor:pointer;background:0 0;border-radius:12px;padding:10px 18px;font-weight:700}.ghost-btn.small{border-width:1px;padding:6px 12px;font-size:13px}.ghost-btn:hover{background:var(--charcoal);color:#fff}.error{color:var(--coral);margin-top:16px;font-size:14px;font-weight:600}.spinner{border:4px solid var(--line);border-top-color:var(--charcoal);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app{background:var(--cream);min-height:100dvh}.topbar{border-bottom:2px solid var(--charcoal);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex}.brand{color:var(--charcoal);font-weight:800}.user{align-items:center;gap:10px;display:flex}.avatar{border:1px solid var(--line);border-radius:50%;width:30px;height:30px}.email{color:#2a2a2ab3;font-size:13px}.content{place-items:center;padding:40px 22px;display:grid}.placeholder{text-align:center;border:2px dashed var(--line);background:#fff;border-radius:18px;max-width:560px;padding:40px 28px}.placeholder h2{color:var(--charcoal);margin:0 0 12px}.placeholder p{color:#2a2a2ab3;margin:0;line-height:1.6}
