:root{--fz-bg:#f4f6f8;--fz-surface:#ffffff;--fz-border:#d5dbe1;--fz-text:#16202a;--fz-muted:#5b6b7a;--fz-primary:#0b4f8a;--fz-primary-contrast:#ffffff;--fz-success:#1f7a3d;--fz-warning:#8a5a00;--fz-danger:#a11a1a;--fz-info:#0b5c8a;--fz-focus:#1461b8}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fz-bg);color:var(--fz-text);line-height:1.5}:focus-visible{outline:3px solid var(--fz-focus);outline-offset:2px}.fz-skip-link{position:absolute;left:-999px;top:0;background:var(--fz-primary);color:var(--fz-primary-contrast);padding:.5rem 1rem;z-index:100}.fz-skip-link:focus{left:0}.fz-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--fz-primary);color:var(--fz-primary-contrast)}.fz-header__brand{font-weight:700}.fz-header__user{display:flex;align-items:center;gap:.75rem}.fz-header__user-role{font-size:.85rem;opacity:.9}.fz-nav{background:var(--fz-surface);border-bottom:1px solid var(--fz-border)}.fz-nav__list{display:flex;gap:.5rem;list-style:none;margin:0;padding:0 1rem}.fz-nav__link{display:inline-block;padding:.75rem 1rem;color:var(--fz-text);text-decoration:none}.fz-nav__link[aria-current=page]{border-bottom:3px solid var(--fz-primary);font-weight:600}.fz-main{padding:1.5rem;max-width:1100px;margin:0 auto}.fz-btn{font:inherit;padding:.5rem 1rem;border-radius:6px;border:1px solid transparent;cursor:pointer}.fz-btn--primary{background:var(--fz-primary);color:var(--fz-primary-contrast)}.fz-btn--secondary{background:var(--fz-surface);color:var(--fz-primary);border-color:var(--fz-primary)}.fz-btn--ghost{background:transparent;color:inherit;border-color:currentcolor}.fz-btn:disabled{opacity:.6;cursor:progress}.fz-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--fz-border)}.fz-badge--success{background:#e5f3ea;color:var(--fz-success)}.fz-badge--warning{background:#fbf1dd;color:var(--fz-warning)}.fz-badge--danger{background:#f7e3e3;color:var(--fz-danger)}.fz-badge--info{background:#e2eef6;color:var(--fz-info)}.fz-badge--neutral{background:#eceff2;color:var(--fz-muted)}.fz-empty,.fz-error,.fz-pending{padding:1.25rem;border-radius:8px;background:var(--fz-surface);border:1px solid var(--fz-border)}.fz-pending{border-style:dashed;color:var(--fz-muted)}.fz-error{border-color:var(--fz-danger)}.fz-error__title{color:var(--fz-danger);font-weight:600}.fz-table{width:100%;border-collapse:collapse;background:var(--fz-surface)}.fz-table__caption{text-align:left;font-weight:600;padding:.5rem 0}.fz-table td,.fz-table th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--fz-border)}.fz-table__row--interactive{cursor:pointer}.fz-table__row--interactive:hover{background:#eef3f7}.fz-table__row-action{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.fz-table__row-action:hover{text-decoration:underline}.fz-login{max-width:380px;margin:4rem auto;padding:2rem;background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:10px;gap:1rem}.fz-field,.fz-login{display:flex;flex-direction:column}.fz-field{gap:.3rem}.fz-field input{font:inherit;padding:.5rem;border:1px solid var(--fz-border);border-radius:6px}.fz-login__error{color:var(--fz-danger)}.fz-spinner{display:flex;align-items:center;gap:.5rem;color:var(--fz-muted)}