:root{--color-graphite:#2f2f2f;--color-stone:#6f706c;--color-olive:#94987e;--color-sand:#eae5e1;--color-white:#ffffff;--color-error:#b85450;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius:4px;--radius-lg:8px;--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:var(--font-body);color:var(--color-graphite);background:var(--color-sand)}button{font-family:inherit;cursor:pointer;border:none;background:var(--color-graphite);color:var(--color-sand);padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-size:.95rem;font-weight:500;letter-spacing:.02em;transition:background .15s ease}button:hover:not(:disabled){background:var(--color-stone)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--color-graphite);border:1px solid var(--color-stone)}button.secondary:hover:not(:disabled){background:var(--color-stone);color:var(--color-sand)}button.danger{background:var(--color-error)}input,select{font-family:inherit;padding:var(--space-3) var(--space-4);border:1px solid var(--color-stone);border-radius:var(--radius);background:var(--color-white);font-size:.95rem;width:100%}input:focus,select:focus{outline:2px solid var(--color-olive);outline-offset:-2px;border-color:var(--color-olive)}label{display:block;font-size:.85rem;color:var(--color-stone);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}a{color:var(--color-olive);text-decoration:none}a:hover{text-decoration:underline}