.fy-access-request { margin-top: 1.25rem; padding: 1rem; border: 1px solid var(--card-border); border-radius: 16px; background: var(--card); color: var(--text); }
.fy-access-request summary { cursor: pointer; font-weight: 700; padding: .5rem 0; }
.fy-access-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.fy-access-form > label { display: grid; align-content: start; gap: .4rem; font-weight: 600; min-width: 0; }
.fy-access-form input:not([type=checkbox]), .fy-access-form select, .fy-access-form textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: .75rem; border: 1px solid var(--card-border); border-radius: 8px; background: var(--field-bg); color: var(--text); font: inherit; }
.fy-access-form fieldset { margin: 0; padding: .75rem; border: 1px solid var(--card-border); border-radius: 8px; min-width: 0; }
.fy-access-options { display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.fy-access-options label { display: flex; align-items: center; gap: .4rem; min-height: 44px; }
.fy-access-actions { grid-column: 1/-1; display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.fy-access-request a, .fy-access-summary dd { overflow-wrap: anywhere; }
.fy-access-summary dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.fy-access-summary dt { color: var(--text-dim); font-size: .85rem; }
.fy-access-summary dd { margin: .2rem 0 0; }
@media(max-width:600px) { .fy-access-form, .fy-access-summary dl { grid-template-columns: minmax(0,1fr); } }
