*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--green:#2d6a4f;--green-light:#52b788;--green-pale:#d8f3dc;--bg:#fff;--surface:#f8faf8;--text:#1a2e1a;--text-secondary:#5a7060;--border:#c8dcc8;--error:#c0392b}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;border:none;padding:14px 28px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .15s}.btn:hover{background:#1b4332}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:13px 28px;border-radius:8px;font-size:16px;cursor:pointer;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--green);color:var(--green)}@keyframes slideInRight{0%{transform:translateX(60px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-60px);opacity:0}}.slide-enter{animation:slideInRight .32s cubic-bezier(.22,1,.36,1) both}.slide-exit{animation:slideOutLeft .28s cubic-bezier(.55,0,.45,1) both;pointer-events:none}.nav-link{font-size:13px;font-weight:500;color:var(--text-secondary);padding:6px 14px;border-radius:20px;border:1px solid transparent;transition:border-color .15s,color .15s;text-decoration:none}.nav-link:hover{border-color:var(--border);color:var(--text)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.field input,.field select,.field textarea{padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;color:var(--text);background:var(--bg);transition:border-color .15s;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}.error-msg{color:var(--error);font-size:14px;padding:12px 16px;background:#fdf0ee;border-radius:8px;border:1px solid #f5c6c0}