:root{color-scheme:light dark;--primary: #2E7D32;--muted: #6b7280;--fg: CanvasText;--bg: Canvas;--radius: 12px;--border: color-mix(in oklab, var(--fg) 12%, transparent);--shadow: 0 6px 18px rgba(0,0,0,.08)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial,Noto Sans,sans-serif;line-height:1.45}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:1.2rem}.card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);background:color-mix(in oklab,#fff 98%,var(--fg))}.auth-card{width:min(440px,92vw)}.auth-title{margin:0 0 .6rem;font-size:1.25rem}.hint{color:var(--muted);font-size:.92rem}.error{background:#fee2e2;color:#991b1b;padding:.55rem .7rem;border-radius:10px;border:1px solid #fecaca}form{display:grid;gap:.7rem}label{font-weight:600}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=tel],input:not([type]),select{width:100%;padding:.55rem .65rem;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab,#fff 98%,var(--fg));color:var(--fg)}button,.btn{display:inline-block;border:0;border-radius:var(--radius);cursor:pointer;font-weight:700;padding:.5rem .75rem;background:var(--primary);color:#fff;box-shadow:var(--shadow)}button:hover,.btn:hover{filter:brightness(.98)}button:disabled{opacity:.6;cursor:not-allowed}.mt-2{margin-top:.5rem}button,.btn,a.btn{font-size:.9rem}
