*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f6f7f9;color:#1c1e21;min-height:100vh}a{color:#1554d1;text-decoration:none}a:hover{text-decoration:underline}button{background:#1554d1;color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-size:1rem;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:transparent;color:#1554d1;border:1px solid #1554d1}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.06);padding:1.5rem;width:100%;max-width:420px}.card>h1{margin-top:0}.muted{color:#58606a;font-size:.95rem}form.stacked{gap:.75rem}form.stacked,form.stacked label{display:flex;flex-direction:column}form.stacked label{gap:.25rem;font-size:.9rem;color:#333}form.stacked input,form.stacked select{padding:.65rem .75rem;font-size:1rem;border:1px solid #cfd3d8;border-radius:8px;background:#fff}form.stacked input:focus{outline:2px solid #1554d1;outline-offset:1px;border-color:transparent}.error{color:#b1251b;background:#fee7e4}.error,.notice{padding:.6rem .75rem;border-radius:6px;margin:0;font-size:.9rem}.notice{color:#305b19;background:#dff5d4}.top-bar{background:#fff;border-bottom:1px solid #e6e8ec;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;z-index:10}.top-bar .balance{font-weight:600;font-size:1.05rem}.top-bar .top-nav{display:flex;gap:.75rem;font-size:.9rem}.container{max-width:720px;margin:0 auto;padding:1rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1rem}.tile{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.tile h3{margin:0;font-size:1rem}table.activity{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border-radius:12px;overflow:hidden}table.activity td,table.activity th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #e6e8ec;font-size:.9rem}table.activity th{background:#f0f2f5;font-weight:600}.pager{display:flex;gap:.5rem;margin-top:.75rem;align-items:center}.pager .spacer{flex:1 1}