:root{--color-bg: #ffffff;--color-surface: #f6f6f7;--color-text: #17181c;--color-muted: #6b7080;--color-primary: #17181c;--color-primary-contrast: #ffffff;--color-accent: #e63946;--color-border: #e3e4e8;--color-success: #2a9d8f;--color-danger: #e63946;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading: var(--font-body);--radius: 10px;--shadow: 0 2px 12px rgba(0, 0, 0, .06);--container: 1200px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}.container{max-width:var(--container);margin:0 auto;padding:0 1rem}.page{padding:2rem 0 4rem}.muted{color:var(--color-muted)}h1,h2,h3{font-family:var(--font-heading);line-height:1.2}.page h1{margin-bottom:1.5rem}.btn{display:inline-block;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);padding:.6rem 1.4rem;border-radius:var(--radius);transition:opacity .15s}.btn:hover{opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;color:var(--color-primary)}.btn-block{width:100%;text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow)}.form-field{margin-bottom:1rem}.form-field label{display:block;font-size:.9rem;margin-bottom:.25rem}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:var(--color-bg);color:var(--color-text)}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;background:var(--color-surface)}.alert-error{border:1px solid var(--color-danger);color:var(--color-danger)}.alert-success{border:1px solid var(--color-success);color:var(--color-success)}table.table{width:100%;border-collapse:collapse}table.table th,table.table td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--color-border)}
