.ptfn-app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;max-width:980px;margin:0 auto;padding:18px 12px;}
.ptfn-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.ptfn-title{font-size:22px;font-weight:800;letter-spacing:.2px;color:#111;}
.ptfn-subtitle{font-size:13px;color:#556;margin-top:2px;}
.ptfn-header-actions{display:flex;gap:8px;align-items:center;}
.ptfn-card{background:#fff;border:1px solid #e7e9ee;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 2px 10px rgba(17,24,39,.04);}
.ptfn-card-title{font-size:14px;font-weight:800;color:#111;margin-bottom:12px;}
.ptfn-empty{font-size:13px;color:#556;padding:10px 0;}

.ptfn-btn{appearance:none;border:1px solid #d7dbe6;background:#fff;color:#111;border-radius:12px;padding:10px 12px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.ptfn-btn:hover{background:#fafbff;}
.ptfn-btn-primary{background:#0A4DA2;border-color:#0A4DA2;color:#fff;}
.ptfn-btn-primary:hover{filter:brightness(0.97);}
.ptfn-btn-ghost{background:transparent;border-color:transparent;color:#0A4DA2;padding:8px 10px;}
.ptfn-btn-ghost:hover{background:#f2f6ff;border-color:#f2f6ff;}

.ptfn-table{width:100%;border-collapse:collapse;font-size:13px;}
.ptfn-table th{text-align:left;color:#556;font-weight:800;font-size:12px;border-bottom:1px solid #e7e9ee;padding:10px 8px;}
.ptfn-table td{border-bottom:1px solid #eef0f6;padding:12px 8px;vertical-align:top;color:#111;}
.ptfn-actions{white-space:nowrap;}
.ptfn-link{color:#0A4DA2;text-decoration:none;font-weight:800;}
.ptfn-link:hover{text-decoration:underline;}
.ptfn-sep{color:#9aa3b2;margin:0 6px;}

.ptfn-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;}
.ptfn-badge-ptfn_borrador{background:#f3f4f6;color:#374151;}
.ptfn-badge-ptfn_en_revision{background:#fff7ed;color:#9a3412;}
.ptfn-badge-ptfn_observado{background:#fef2f2;color:#991b1b;}
.ptfn-badge-ptfn_enviado{background:#ecfdf5;color:#065f46;}

.ptfn-alert{background:#fef9c3;border:1px solid #fde68a;color:#854d0e;border-radius:14px;padding:12px 14px;margin-bottom:12px;font-size:13px;font-weight:700;}

.ptfn-form label{display:block;font-size:12px;font-weight:900;color:#445;margin-bottom:6px;}
.ptfn-form input[type="text"],
.ptfn-form input[type="email"],
.ptfn-form input[type="number"],
.ptfn-form input[type="url"],
.ptfn-form select,
.ptfn-form textarea{width:100%;border:1px solid #d7dbe6;border-radius:12px;padding:10px 12px;font-size:14px;outline:none;background:#fff;box-sizing:border-box;}
.ptfn-form textarea{resize:vertical;}
.ptfn-form input:focus, .ptfn-form select:focus, .ptfn-form textarea:focus{border-color:#0A4DA2;box-shadow:0 0 0 4px rgba(10,77,162,.10);}

.ptfn-field{margin-bottom:12px;}
.ptfn-row{display:grid;grid-template-columns:1fr;gap:12px;}
@media(min-width:800px){.ptfn-row{grid-template-columns:1fr 1fr 1fr;}}

.ptfn-req{color:#b91c1c;}
.ptfn-help{font-size:12px;color:#6b7280;margin-top:6px;}

.ptfn-nav{display:flex;gap:10px;justify-content:flex-end;margin-top:10px;}

.ptfn-repeat-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
.ptfn-repeat-row input{flex:1;}

.ptfn-repeat-card{border:1px solid #e7e9ee;border-radius:14px;padding:12px;margin-bottom:10px;background:#fbfcff;}

.ptfn-divider{height:1px;background:#e7e9ee;margin:10px 0;}
.ptfn-section-title{font-size:12px;font-weight:900;color:#111;margin:10px 0 8px 0;text-transform:uppercase;letter-spacing:.6px;}
.ptfn-section-subtitle{font-size:12px;font-weight:900;color:#445;margin:8px 0 8px 0;}

.ptfn-check{display:flex;gap:10px;align-items:flex-start;font-weight:800;color:#111;}
.ptfn-check input{margin-top:3px;}

.ptfn-grid{display:grid;grid-template-columns:1fr;gap:12px;}
@media(min-width:800px){.ptfn-grid{grid-template-columns:1fr 1fr;}}
.ptfn-label{font-size:12px;font-weight:900;color:#445;}
.ptfn-value{margin-top:4px;font-size:14px;font-weight:700;color:#111;}

.ptfn-filelist{margin:0;padding-left:16px;font-size:13px;color:#111;}
.ptfn-filebox{border:1px dashed #d7dbe6;border-radius:14px;padding:12px;background:#fff;margin-bottom:12px;}
