:root{--bg:#0d0d1a;--surface:#1a1a2e;--surface-hover:#22223a;--text:#e0e0e0;--text-muted:#88a;--accent:#7c5cff;--accent-hover:#9b80ff;--border:#2a2a3a;--danger:#ff5c5c;--success:#5cff7c;--radius:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}#app{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button{cursor:pointer;border-radius:var(--radius);border:none;padding:.6em 1.2em;font-size:.95rem;transition:background .15s,opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}.loading-screen{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:400px;padding:3rem}.login-card h1{margin-bottom:.5rem;font-size:1.8rem}.login-subtitle{color:var(--text-muted);margin-bottom:2rem}.btn-google{background:var(--accent);color:#fff;padding:.75em 2em;font-size:1rem;font-weight:600}.btn-google:hover:not(:disabled){background:var(--accent-hover)}.app-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.app-title{color:var(--accent);font-size:1.1rem;font-weight:700}.header-right{align-items:center;gap:1rem;display:flex}.user-email{color:var(--text-muted);font-size:.9rem}.btn-logout{background:var(--border);color:var(--text);padding:.4em .9em;font-size:.85rem}.btn-logout:hover{background:#3a3a4a}main{flex:1;padding:2rem 1.5rem}.page{max-width:900px;margin:0 auto}.page h1{margin-bottom:.5rem;font-size:1.6rem}.page nav{align-items:center;gap:1rem;margin:1rem 0;display:flex}.placeholder{color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);margin-top:1rem;padding:1rem;font-style:italic}
