*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--maroon: #8B1A1A;--maroon-dark: #6B1212;--maroon-light: #A52A2A;--gold: #C8A951;--gold-light: #D4B96A;--bg: #f7f5f2;--surface: #ffffff;--border: #e2ddd8;--text: #1a1a1a;--text-muted: #6b6560;--radius: 6px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--maroon);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:500;padding:.6rem 1.2rem;transition:opacity .15s}button:hover{opacity:.88}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--maroon);color:#fff}.btn-secondary{background:var(--gold);color:#fff}.btn-outline{background:transparent;border:1.5px solid var(--maroon);color:var(--maroon)}input,select,textarea{width:100%;padding:.6rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.95rem;outline:none;transition:border-color .15s;background:var(--surface)}input:focus,select:focus,textarea:focus{border-color:var(--maroon)}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem;color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-green{background:#d4edda;color:#155724}.badge-maroon{background:#f5d5d5;color:#7b1a1a}.badge-yellow{background:#fdf3d0;color:#7d5a00}.container{max-width:1100px;margin:0 auto;padding:0 1rem}.page{padding:2rem 0;min-height:100vh}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}.error{color:#c0392b;font-size:.85rem;margin-top:.3rem}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;align-items:center;gap:.75rem}
