:root{--bg:#f4f0e8;--panel:#fffdf8;--ink:#1f1d1a;--muted:#6b6458;--line:#ddd5c8;--accent:#1e7f63;--accent-ink:#e9fff6;--danger:#9c3b29}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(80rem 30rem at -10% -20%,#fff6df,transparent 70%),radial-gradient(60rem 26rem at 120% -10%,#e8f4ee,transparent 70%),var(--bg);font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1100px,calc(100vw - 2rem));margin:0 auto;padding:1rem 0 2rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 18px rgba(43,37,27,.06)}.btn{border:0;border-radius:10px;padding:.6rem .9rem;font-weight:600;cursor:pointer}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{border:1px solid var(--line);background:#fff;color:var(--ink)}.btn-danger{background:var(--danger);color:#fff1ef}.input,.textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;font:inherit;color:var(--ink);background:#fff}.textarea{min-height:92px;resize:vertical}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#fff}.grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}@media (max-width:720px){.container{width:min(100vw - 1rem,1100px)}}.auth-card{width:min(420px,calc(100vw - 2rem));background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 6px -1px rgba(43,37,27,.05),0 12px 32px -4px rgba(43,37,27,.08);padding:2.25rem 2rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--accent);color:#fff;font-weight:800;font-size:1.25rem;margin-bottom:1rem}.auth-title{font-size:1.5rem;font-weight:700;margin:0 0 .35rem;letter-spacing:-.02em}.auth-subtitle{margin:0;color:var(--muted);font-size:.92rem}.auth-form{display:grid;grid-gap:.85rem;gap:.85rem}.auth-field{display:grid;grid-gap:.3rem;gap:.3rem}.auth-field label{font-size:.85rem;font-weight:600;color:var(--ink)}.auth-field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;font:inherit;font-size:.92rem;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,127,99,.1)}.auth-field input::placeholder{color:#b5ae9e}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;border:none;border-radius:10px;padding:.65rem 1rem;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s,opacity .15s}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-primary{background:var(--accent);color:#fff}.auth-btn-primary:hover:not(:disabled){background:#176b53;box-shadow:0 2px 8px rgba(30,127,99,.25)}.auth-btn-google{background:#fff;color:var(--ink);border:1px solid var(--line)}.auth-btn-google:hover{background:#fafaf7;box-shadow:0 2px 8px rgba(0,0,0,.06)}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--muted);font-size:.82rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.auth-error{font-size:.88rem;color:#9f2d2d;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:.6rem .75rem}.auth-toggle{text-align:center;margin:1.25rem 0 0;font-size:.88rem;color:var(--muted)}.auth-toggle button{background:none;border:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:none}.auth-toggle button:hover{text-decoration:underline}.auth-notice{text-align:center;padding:1rem;color:var(--muted);font-size:.9rem}.auth-notice code{background:#f0ece4;padding:.15rem .4rem;border-radius:4px;font-size:.82rem}