:root{font-family:system-ui,sans-serif;color-scheme:light}:root{--color-primary: #2457a6;--color-danger: #a40000;--color-border: #767676;--focus-ring: 3px solid #174a9c}body{margin:0;min-width:320px}.auth-card{max-width:28rem;margin:8vh auto;padding:2rem}form{display:grid;gap:.75rem}input,button{min-height:2.75rem;font:inherit;padding:0 .75rem}button{cursor:pointer}[role=alert]{color:#a40000}header{padding:1rem 2rem;border-bottom:1px solid #ddd}.home-page{max-width:72rem;margin:2rem auto;padding:0 1rem}.utility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}.utility-card{display:grid;gap:.5rem;padding:1.25rem;border:1px solid #ddd;border-radius:.5rem;color:inherit;text-decoration:none}.utility-card:hover,.utility-card:focus-visible{outline:3px solid #2457a6}.profile-page,.audit-page{max-width:72rem;margin:2rem auto;padding:0 1rem}.profile-page section{display:grid;gap:.75rem;margin:1.5rem 0;padding:1rem;border:1px solid #ddd;border-radius:.5rem}.profile-page img{width:12rem;height:12rem}.audit-page table{width:100%;border-collapse:collapse;margin-top:1rem}.audit-page th,.audit-page td{text-align:left;border-bottom:1px solid #ddd;padding:.75rem}.admin-page{max-width:80rem;margin:2rem auto;padding:0 1rem}.admin-page form,.role-form{display:grid;gap:.75rem;margin-bottom:1.5rem}.admin-page table{width:100%;border-collapse:collapse}.admin-page th,.admin-page td{text-align:left;border-bottom:1px solid #ddd;padding:.75rem}.role-form{max-width:40rem;padding:1rem;border:1px solid #ddd;border-radius:.5rem}.ui-button{min-height:2.75rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:.25rem;cursor:pointer}.ui-button--primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.ui-button--danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger)}.ui-button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:var(--focus-ring);outline-offset:2px}.form-field{display:grid;gap:.35rem}.form-field__error{color:var(--color-danger);margin:0}.ui-alert{padding:.75rem;border-left:.25rem solid var(--color-primary);background:#eef4ff}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#00000080}.dialog{max-width:32rem;padding:1.5rem;background:#fff;border-radius:.5rem}.table-wrapper{overflow-x:auto}.pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem}
