.request-shell{display:grid;gap:1.2rem}
.request-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.request-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .7rem;border-radius:999px;background:#eef7f0;color:#245a31;font-weight:800;font-size:.9rem}
.request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.request-grid .wide{grid-column:1/-1}
.request-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:1rem;padding:1.2rem;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.request-card label{display:grid;gap:.35rem;font-weight:750}
.request-card input,.request-card textarea,.request-card select{width:100%;border:1px solid rgba(0,0,0,.13);border-radius:.7rem;padding:.7rem .8rem;font:inherit;background:#fff}
.request-card input:focus,.request-card textarea:focus,.request-card select:focus{outline:3px solid #d6e7dc;border-color:#7fb28d}
.reglamento-box{max-height:440px;overflow:auto;border:1px solid #d9e5dc;border-radius:.9rem;padding:1rem;background:#fbfdfb;line-height:1.55}
.reglamento-item{padding:.75rem 0;border-bottom:1px dashed #d7dfd9}
.reglamento-item:last-child{border-bottom:0}
.reglamento-item strong{color:#2f6d3a;display:block;margin-bottom:.25rem}
.accept-box{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:.65rem!important;background:#f6faf7;border:1px solid #d6e7dc;border-radius:.8rem;padding:.9rem}
.accept-box input{width:auto!important;margin-top:.2rem;transform:scale(1.15)}
.signature-wrap{border:1px solid #cfd9d2;border-radius:.85rem;background:#fff;padding:.65rem}
#firmaCanvas{display:block;width:100%;height:180px;border:1px dashed #9bad9f;border-radius:.65rem;background:#fff;touch-action:none;cursor:crosshair}
.signature-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.55rem;flex-wrap:wrap}
.request-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.admin-filters{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}
.admin-filters label{display:grid;gap:.3rem;font-weight:700}
.admin-filters input,.admin-filters select{border:1px solid rgba(0,0,0,.13);border-radius:.65rem;padding:.55rem .7rem;font:inherit}
.status-pill{display:inline-block;padding:.28rem .55rem;border-radius:999px;background:#eef3ef;font-size:.85rem;font-weight:800}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.detail-cell{border:1px solid rgba(0,0,0,.08);border-radius:.75rem;padding:.7rem;background:#fcfcfb}
.detail-cell .k{font-size:.8rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.detail-cell .v{font-weight:700;margin-top:.2rem;word-break:break-word}
.signature-img{max-width:560px;width:100%;height:auto;border:1px solid #d7dfd9;border-radius:.8rem;background:#fff;padding:.5rem}
@media(max-width:760px){.request-grid,.detail-grid{grid-template-columns:1fr}.request-grid .wide{grid-column:auto}.table-wrap{overflow-x:auto}.request-head{align-items:flex-start}}
@media print{header,.no-print,.request-actions,.admin-toolbar,.admin-filters{display:none!important}.section{padding:0}.card,.request-card{box-shadow:none;border:0}.container{width:100%}.reglamento-box{max-height:none;overflow:visible}}
.request-menu{display:grid;gap:1rem}
.request-option{display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:1rem;padding:1.15rem 1.2rem;box-shadow:0 4px 12px rgba(0,0,0,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.request-option:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08);border-color:#9fc7a8}
.request-option-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:#eef7f0;font-size:1.6rem}
.request-option-text{display:grid;gap:.25rem;flex:1}
.request-option-text strong{font-size:1.08rem;color:#245a31}
.request-option-text small{color:#667085;line-height:1.4}
.request-option-arrow{font-size:1.5rem;color:#2f6d3a;font-weight:800}
.future-note{background:#fbfdfb}
@media(max-width:560px){.request-option{align-items:flex-start}.request-option-arrow{margin-top:.5rem}}
