:root{--ink:#0F1E2E;--ink-2:#2C3E50;--muted:#6B7785;--line:#E3DED5;--bg:#F7F4EE;--card:#FFFFFF;--amber:#F2A93B;--amber-d:#D98E1E;--ok:#1F8A5B;--err:#C0392B;--radius:14px;--font:Inter,system-ui,-apple-system,sans-serif;--head:Sora,var(--font)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5;min-height:100dvh}
a{color:var(--ink-2)}h1,h2,h3{font-family:var(--head);line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(1.6rem,4vw,2.2rem)}h3{font-size:1.05rem}
.muted{color:var(--muted)}.small{font-size:.9rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--head);font-weight:700;text-decoration:none;color:var(--ink);font-size:1.1rem}
.brand-lg{font-size:1.35rem;margin-bottom:1.25rem}
.brand-mark{display:inline-grid;place-items:center;width:1.7em;height:1.7em;border-radius:.45em;background:var(--ink);color:var(--amber);font-size:.95em}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem clamp(1rem,4vw,2rem);background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;padding-top:max(.75rem,env(safe-area-inset-top))}
.topbar-right{display:flex;align-items:center;gap:.75rem}.org{font-size:.9rem;color:var(--muted);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page{padding:clamp(1rem,4vw,2rem);max-width:1080px;margin:0 auto}
.auth-page{min-height:100dvh;display:grid;place-items:center;padding:1rem}
.auth-card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,5vw,2rem);box-shadow:0 10px 40px rgba(15,30,46,.06)}
.form{display:grid;gap:.9rem;margin:1.25rem 0 1rem}
.field{display:grid;gap:.3rem;font-size:.92rem;font-weight:500}
.field input{font:inherit;font-weight:400;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:48px;width:100%}
.field input:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.field small{color:var(--muted);font-weight:400}
.btn{font:inherit;font-weight:600;border:0;border-radius:10px;padding:.8rem 1.1rem;cursor:pointer;min-height:48px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn-primary{background:var(--amber);color:var(--ink)}.btn-primary:hover{background:var(--amber-d)}
.btn-ghost{background:transparent;color:var(--ink-2);min-height:40px;padding:.4rem .7rem}.btn-ghost:hover{background:var(--bg)}
.btn-block{width:100%}
.alert{padding:.75rem .9rem;border-radius:10px;font-size:.92rem;margin-top:.75rem}
.alert-error{background:#FBE9E7;color:var(--err)}.alert-ok{background:#E6F4EC;color:var(--ok)}
.hero-app{margin-bottom:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600;color:var(--amber-d);margin:0 0 .3rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}
.card p{margin:0;color:var(--muted);font-size:.92rem}
.card-soon{opacity:.9}.tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--bg);color:var(--muted);padding:.2rem .5rem;border-radius:999px;margin-bottom:.5rem}
