:root{--sfi-gold: #d3bc8d;--sfi-burgundy: #651d32;--sfi-white: #ffffff;--bg: #fbfaf7;--surface: #ffffff;--text: #1b1b1b;--muted: #6b6b6b;--border: rgba(0, 0, 0, .12);--primary: var(--sfi-burgundy);--primary-contrast: var(--sfi-white);--secondary: var(--sfi-gold);--danger: var(--sfi-burgundy);--radius: 14px;--shadow: 0 10px 28px rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(211,188,141,.25),transparent 50%),radial-gradient(ellipse 60% 40% at 100% 100%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 50%),linear-gradient(to bottom,var(--bg) 0%,color-mix(in srgb,var(--primary) 3%,var(--bg)) 100%);background-attachment:fixed;background-repeat:no-repeat}a{color:var(--text);text-decoration:none}a:hover{color:var(--primary);text-decoration:underline}.container{max-width:980px;margin:0 auto;padding:0 16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{appearance:none;border:0;border-radius:12px;padding:12px 16px;background:var(--primary);color:var(--primary-contrast);font-weight:600;cursor:pointer}.btn:hover{filter:brightness(.95)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--secondary{background:var(--secondary);color:var(--text);border:1px solid color-mix(in srgb,var(--primary) 18%,transparent)}.btn--secondary:hover{filter:brightness(.97)}.btn--ghost{background:transparent;color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 22%,transparent)}.btn--ghost:hover{background:color-mix(in srgb,var(--secondary) 18%,transparent)}.field{display:grid;gap:6px}.label{font-size:.9rem;color:var(--muted)}input,select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;font-size:1rem}input:focus,select:focus{outline:3px solid color-mix(in srgb,var(--primary) 18%,transparent);border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.error{color:var(--danger)}
