fieldset { border: 1px solid #e2e2e2; border-radius: 8px; margin: 1.5rem 0; padding: 1rem 1.25rem 1.25rem; }
legend   { font-weight: 700; padding: 0 .4rem; color: #333; }
.grid    { display: grid; grid-template-columns: 1fr; gap: 1rem; }
label    { display: block; margin-bottom: .3rem; font-weight: 600; font-size: .9rem; }
label.inline { display: inline; font-weight: 400; margin: 0; }
.req     { color: #b00020; }
input[type=text], textarea, select {
           width: 100%; padding: .5rem .6rem; border: 1px solid #ccc;
           border-radius: 6px; font-size: .95rem; box-sizing: border-box; background: #fff; }
textarea { min-height: 80px; resize: vertical; }
.hint    { font-size: .8rem; color: #666; margin-top: .25rem; }
.error   { color: #b00020; font-size: .8rem; margin-top: .25rem; }
.notice  { background: #fff8e1; color: #7a5b00; padding: .6rem .8rem; border-radius: 6px; font-size: .9rem; }
.actions { margin-top: 1.5rem; display: flex; gap: .75rem; }
/* button   { padding: .6rem 1.2rem; border: 0; border-radius: 6px; font-size: 1rem; cursor: pointer; } */
.save    { background: #2563eb; color: #fff; }
.cancel  { background: #eee; color: #333; text-decoration: none; display: inline-flex; align-items: center; }
 .flash { background: #e7f6ec; color: #1a7f37; padding: .6rem .8rem; border-radius: 6px; margin-bottom: 1rem; }
a.edit { color: #2563eb; text-decoration: none; }
.muted { color: #888; }
.field.full { grid-column: 1 / -1; }
input[type=text], input[type=number], input[type=url], input[type=search], textarea, select {
    max-width: 100%; padding: .5rem .6rem; border: 1px solid #ccc;
           border-radius: 6px; font-size: .95rem; box-sizing: border-box; background: #fff; }
.check   { display: flex; align-items: center; gap: .5rem; padding-top: 1.6rem; }
select   { width: auto; padding: .5rem .6rem; border: 1px solid #ccc;
                   border-radius: 6px; font-size: .95rem; box-sizing: border-box; background: #fff; }
.blank { color: #b00020; font-style: italic; }
input[type=date],input[type="datetime-local"],input[type=tel] {
           width: 200px; padding: .5rem .6rem; border: 1px solid #ccc;
           border-radius: 6px; font-size: .95rem; box-sizing: border-box; background: #fff; }