body{margin:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;background:#f5f6f8;color:#212529}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:#fff;border-bottom:1px solid #dee2e6}.admin-header__title{font-weight:600;font-size:1.1rem}.admin-header__nav{display:flex;gap:1rem;margin-right:auto;margin-left:2rem}.admin-header__nav a{color:#0d6efd;text-decoration:none}.admin-header__nav a:hover{text-decoration:underline}.admin-header__logout{display:flex;align-items:center;gap:.75rem}.admin-main{padding:1.5rem}.card{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:1.5rem}.card--narrow{max-width:380px;margin:3rem auto}.card h1{margin-top:0;font-size:1.4rem}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.filters{display:flex;gap:.5rem}.filters__item{padding:.3rem .75rem;border:1px solid #dee2e6;border-radius:4px;color:inherit;text-decoration:none}.filters__item--active{background:#0d6efd;border-color:#0d6efd;color:#fff}.field{display:block;margin-bottom:1rem}.field span{display:block;margin-bottom:.25rem}.field input{width:100%;box-sizing:border-box;padding:.45rem .6rem;border:1px solid #dee2e6;border-radius:4px}.btn{padding:.4rem .9rem;border:1px solid rgba(0,0,0,0);border-radius:4px;cursor:pointer;color:#fff}.btn--primary{background:#0d6efd}.btn--danger{background:#dc3545}.btn--secondary{background:#fff;border-color:#dee2e6;color:inherit}.alert{padding:.6rem .9rem;border-radius:4px;margin-bottom:1rem}.alert--error{background:rgba(220,53,69,.1);color:#dc3545}.alert--success{background:rgba(25,135,84,.1);color:#198754}.grid{width:100%;border-collapse:collapse}.grid th,.grid td{padding:.5rem;border-bottom:1px solid #dee2e6;text-align:left;vertical-align:top}.grid th{background:#f5f6f8}.grid .actions{min-width:320px}.inline-form{display:flex;gap:.4rem;margin-bottom:.4rem}.inline-form select,.inline-form input{flex:1;padding:.35rem;border:1px solid #dee2e6;border-radius:4px}.badge{padding:.15rem .5rem;border-radius:10px;font-size:.8rem}.badge--pending{background:rgba(255,193,7,.25)}.badge--approved{background:rgba(25,135,84,.15);color:#198754}.badge--rejected{background:rgba(220,53,69,.15);color:#dc3545}.muted{color:#6c757d}.error-text{color:#dc3545;font-size:.85rem}.stacked-form{display:grid;gap:.5rem;max-width:480px}.stacked-form label{display:grid;gap:.25rem}.stacked-form label.checkbox{display:flex;align-items:center;gap:.5rem}.stacked-form button{justify-self:start}