*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;color:#1a1a1a;background:#fafafa}a{color:#1357c8;text-decoration:none}a:hover{text-decoration:underline}header.admin,header.site{padding:.75rem 1.25rem;background:#fff;border-bottom:1px solid #e3e3e3;flex-wrap:wrap}header.admin,header.admin nav,header.site,header.site nav{display:flex;gap:1rem;align-items:center}main{max-width:1000px;margin:0 auto;padding:1.5rem 1.25rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.card{border:1px solid #e3e3e3;border-radius:8px;padding:1rem;background:#fff}.card img{width:100%;height:160px;object-fit:cover;border-radius:6px}label{display:block;margin:.5rem 0;font-weight:500}label input,label select,label textarea{display:block;width:100%;margin-top:.25rem;padding:.5rem;border:1px solid #bbb;border-radius:6px;font-size:1rem}.btn,button{display:inline-block;padding:.55rem 1rem;background:#1357c8;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}button:disabled{background:#9aa6b3;cursor:not-allowed}table{width:100%;border-collapse:collapse;background:#fff}td,th{text-align:left;padding:.6rem;border-bottom:1px solid #e3e3e3}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:#eef2ff;font-size:.85rem}fieldset{border:1px solid #ddd;border-radius:8px;margin:1rem 0;padding:1rem}.checkbox-row{display:flex;align-items:center;gap:.5rem}.checkbox-row input{width:auto}