*{box-sizing:border-box}body{margin:0;background:#fff7f8;color:#17243b;font-family:system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1050px;margin:30px auto;padding:0 20px}header{background:#a71930;color:white;padding:30px;border-radius:18px}header h1{font-size:clamp(25px,4vw,38px);margin:6px 0}header p{color:#ffe0e4;line-height:1.5}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:800}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0}.card{background:white;border:1px solid #e1e5ed;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px;color:inherit;text-decoration:none;min-height:165px}.card:hover{border-color:#a71930;box-shadow:0 8px 24px #a7193014}.card strong{font-size:19px}.card span,.hint,.foot{color:#647086;line-height:1.55}.card b{color:#a71930;font-size:14px;margin-top:auto}.back{display:inline-block;margin-bottom:16px;color:#a71930;font-weight:700;text-decoration:none}.panel{background:white;border:1px solid #e5e8f0;padding:24px;border-radius:16px;margin:18px 0}.panel h2{font-size:20px;margin:0 0 18px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.field select,.field textarea,textarea#output{width:100%;padding:11px;border:1px solid #bac5d5;border-radius:9px;background:white;color:#17243b;font:inherit}.field textarea{min-height:80px}.field.full{grid-column:1/-1}textarea#output{height:360px;resize:vertical;font-size:12px;line-height:1.55;font-family:ui-monospace,Consolas,monospace}.buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}button{border:0;border-radius:9px;background:#a71930;color:white;padding:12px 17px;font-weight:750;cursor:pointer}button.secondary{background:#fde9ed;color:#a71930}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.topline span{font-size:13px;color:#647086}.hint{font-size:13px}.foot{font-size:13px}@media(max-width:650px){main{margin:12px auto;padding:0 12px}.cards,.fields{grid-template-columns:1fr}.panel,header{padding:19px}}
.recommend{font-size:12px;background:#ffe8ec;color:#a71930;padding:5px 9px;border-radius:30px;white-space:nowrap}.batch-panel{border:2px solid #f6cbd3}.batch-panel h2{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.batch-panel textarea{display:block;width:100%;height:330px;resize:vertical;margin-top:16px;border:1px solid #bac5d5;border-radius:9px;padding:12px;font:12px/1.55 ui-monospace,Consolas,monospace;color:#17243b}.batch-panel .hint{margin-top:10px}

.batch-individual{display:grid;gap:16px;margin-top:18px}.individual-card{border:1px solid #d8e0e9;border-radius:12px;padding:14px;background:#fff}.individual-card h3{margin:0 0 8px;font-size:1rem}.individual-card textarea{min-height:190px;width:100%;box-sizing:border-box}.individual-card button{margin-top:8px}.field input[type=file]{max-width:100%;padding:10px;border:1px solid #d8e0e9;border-radius:8px}.field small{display:block;color:#607087;margin-top:6px}

/* Identidad Frazadas: rojo distintivo */
button:hover{filter:brightness(.93)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d94459;outline-offset:2px}

[hidden], .legacy-controls[hidden], .legacy-output[hidden]{display:none!important}
.batch-panel{scroll-margin-top:20px}
#batchGenerate{font-weight:750}

/* Confirmación visible de copiado en todos los generadores */
button.copied,button.secondary.copied{background:#147d48!important;color:#fff!important;box-shadow:0 0 0 3px #b7e6cd!important;transition:background .15s ease;}
#batchStatus{min-height:22px;}

button.copy-error{background:#9d2433!important;color:white!important;}
.individual-card textarea:focus,#batchOutput:focus{outline:2px solid #a71930;}
