:root{--green: #9FE870;--green-dark: #86D957;--green-light: #D2F4BC;--navy: #163300;--navy-mid: #1D3F00;--text-primary: #0A2008;--text-secondary: #4A6741;--text-muted: #6B8563;--bg-primary: #FFFFFF;--bg-secondary: #F2F7F0;--bg-tertiary: #E8F0E4;--border: #D9E6D4;--border-light: #E8F0E4;--white: #FFFFFF;--danger: #C0392B;--radius-xl: 24px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius-pill: 100px;--shadow-card: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-secondary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.topbar{background:var(--white);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.topbar .brand{font-weight:800;letter-spacing:-.01em}.topbar .brand span{color:var(--text-muted);font-weight:600;margin-left:6px}.topbar .user-menu{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.topbar .user-menu button{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:6px 14px;border-radius:var(--radius-pill);font-weight:600;font-size:13px}.topbar .user-menu button:hover{background:var(--bg-secondary)}.main{max-width:960px;margin:0 auto;padding:40px 24px 80px;width:100%}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:40px 32px;max-width:440px;width:100%}.auth-card h1{font-size:24px;font-weight:800;margin-bottom:8px;letter-spacing:-.01em}.auth-card p.lede{color:var(--text-secondary);margin-bottom:24px;font-size:15px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text-secondary)}.field input[type=email],.field input[type=text],.field textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-size:15px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--green-dark);box-shadow:0 0 0 3px #9fe87040}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 22px;border-radius:var(--radius-pill);border:none;font-weight:700;font-size:14px;transition:transform .15s,background-color .15s,box-shadow .15s}.btn-primary{background:var(--green);color:var(--navy);width:100%}.btn-primary:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px);box-shadow:0 4px 12px #9fe8704d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-ghost:hover{background:var(--bg-secondary)}.error-banner{background:#fdecea;border:1px solid #F5B7B1;color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px}.muted{color:var(--text-muted);font-size:13px}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--green-dark);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);margin-bottom:20px}.card h2{font-size:18px;font-weight:700;margin-bottom:12px;letter-spacing:-.01em}.card p{color:var(--text-secondary);font-size:14px}
