:root{--pt-blue:#006fb3;--pt-deep:#063f67;--pt-ink:#102a3d;--pt-muted:#64748b;--pt-line:#dce8ef;--pt-surface:#f5f9fc;--pt-green:#16885b}
.pt-public{color:var(--pt-ink);background:#fff}
.pt-hero{position:relative;overflow:hidden;padding:42px 0 78px;background:linear-gradient(145deg,#f7fbfe 0%,#eaf5fb 58%,#f7fbfd 100%)}
.pt-orb{position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}.pt-orb-one{width:420px;height:420px;right:-130px;top:-210px;background:rgba(0,111,179,.1)}.pt-orb-two{width:260px;height:260px;left:38%;bottom:-190px;background:rgba(244,196,48,.16)}
.pt-breadcrumb{display:flex;align-items:center;gap:5px;margin-bottom:48px;color:#6a8192;font-size:.82rem;font-weight:700}.pt-breadcrumb a{color:#43667f;text-decoration:none}.pt-breadcrumb a:hover{text-decoration:underline}.pt-breadcrumb .material-symbols-outlined{font-size:17px}
.pt-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;margin-bottom:22px;border:1px solid rgba(0,111,179,.14);border-radius:999px;background:rgba(255,255,255,.74);color:var(--pt-blue);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.pt-live{width:8px;height:8px;border-radius:50%;background:#24a66a;box-shadow:0 0 0 5px rgba(36,166,106,.13)}
.pt-hero h1{max-width:760px;margin:0 0 22px;font-size:clamp(2.7rem,6vw,5.15rem);font-weight:800;line-height:.97;letter-spacing:-.055em;color:var(--pt-ink)}.pt-hero h1 span{color:var(--pt-blue)}.pt-lead{max-width:680px;margin:0 0 32px;color:#526b7e;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}
.pt-search{display:flex;align-items:center;max-width:720px;padding:8px 10px 8px 20px;border:1px solid #c9dce7;border-radius:18px;background:#fff;box-shadow:0 15px 35px rgba(19,75,108,.09);transition:border-color .2s,box-shadow .2s}.pt-search:focus-within{border-color:var(--pt-blue);box-shadow:0 0 0 4px rgba(0,111,179,.12),0 15px 35px rgba(19,75,108,.09)}.pt-search>.material-symbols-outlined{color:var(--pt-blue);font-size:26px}.pt-search input{flex:1;min-width:0;padding:12px 14px;border:0;outline:0;background:transparent;color:var(--pt-ink);font-size:1rem}.pt-search input::placeholder{color:#8295a4}.pt-search kbd{align-items:center;padding:6px 9px;border:1px solid #d8e3e9;border-radius:8px;background:#f4f7f9;color:#6c7e8b;font-family:inherit;font-size:.72rem;font-weight:700;box-shadow:none}.pt-search-help{margin:10px 0 0 7px;color:#758897;font-size:.76rem}
.pt-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:18px;padding:30px;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 24px 65px rgba(13,61,83,.11);backdrop-filter:blur(14px)}.pt-summary-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;background:#e1f3ec;color:var(--pt-green)}.pt-summary-icon span{font-size:31px}.pt-summary strong{display:block;font-size:2rem;line-height:1;color:var(--pt-ink)}.pt-summary>div>span{display:block;margin-top:5px;color:#6b7f8e;font-size:.74rem;font-weight:700}.pt-summary-divider{width:1px;height:48px;background:#dbe6ec}.pt-summary p{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:5px 0 0;padding-top:18px;border-top:1px solid #e2eaef;color:#617685;font-size:.78rem}.pt-summary p span{color:var(--pt-blue);font-size:19px}
.pt-catalog{padding:86px 0 78px;background:var(--pt-surface)}.pt-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.pt-eyebrow{display:block;margin-bottom:8px;color:var(--pt-blue);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.pt-heading h2,.pt-help h2{margin:0;color:var(--pt-ink);font-size:clamp(1.8rem,3vw,2.65rem);font-weight:800;letter-spacing:-.035em}.pt-heading p{margin:8px 0 0;color:var(--pt-muted)}.pt-my-link{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid #c9dce8;border-radius:12px;background:#fff;color:var(--pt-blue);font-size:.85rem;font-weight:800;text-decoration:none}.pt-my-link:hover{border-color:var(--pt-blue);color:var(--pt-deep)}
.pt-filters{display:flex;gap:9px;margin-bottom:16px;padding-bottom:8px;overflow:auto;scrollbar-width:thin}.pt-chip{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:44px;padding:10px 15px;border:1px solid #d3e1e9;border-radius:999px;background:#fff;color:#4f687a;font-size:.82rem;font-weight:800;transition:.2s}.pt-chip span{display:grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:999px;background:#edf3f6;color:#647885;font-size:.7rem}.pt-chip:hover,.pt-chip:focus-visible{border-color:var(--pt-blue);color:var(--pt-blue)}.pt-chip:focus-visible{outline:3px solid rgba(0,111,179,.18);outline-offset:2px}.pt-chip.active{border-color:var(--pt-blue);background:var(--pt-blue);color:#fff;box-shadow:0 8px 20px rgba(0,111,179,.18)}.pt-chip.active span{background:rgba(255,255,255,.2);color:#fff}
.pt-results{margin:0 0 34px;color:#718493;font-size:.78rem;font-weight:700}.pt-category{margin-bottom:58px}.pt-category[hidden]{display:none}.pt-category-title{display:flex;align-items:center;gap:13px;margin-bottom:18px}.pt-category-title>.material-symbols-outlined{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#e4f1f8;color:var(--pt-blue)}.pt-category-title h3{margin:0;color:#17384f;font-size:1.2rem;font-weight:800}.pt-category-title p{margin:2px 0 0;color:#7b8c98;font-size:.75rem}
.pt-card{display:flex;flex-direction:column;height:100%;min-height:365px;overflow:hidden;border:1px solid var(--pt-line);border-radius:22px;background:#fff;box-shadow:0 7px 24px rgba(16,62,87,.05);transition:transform .22s,border-color .22s,box-shadow .22s}.pt-card:hover{transform:translateY(-5px);border-color:#b7d5e5;box-shadow:0 18px 38px rgba(16,62,87,.1)}.pt-card-top{display:flex;justify-content:space-between;align-items:center;padding:22px 22px 0}.pt-card-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:#e9f4fa;color:var(--pt-blue);font-size:25px}.pt-online{display:inline-flex;align-items:center;gap:6px;color:var(--pt-green);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.pt-online i{width:7px;height:7px;border-radius:50%;background:#27a86a}.pt-card-body{flex:1;padding:23px 22px}.pt-card-category{display:block;margin-bottom:10px;color:#708593;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.pt-card h4{margin:0 0 12px;color:#173247;font-size:1.25rem;font-weight:800;line-height:1.3;letter-spacing:-.018em}.pt-card-body p{display:-webkit-box;overflow:hidden;margin:0;color:#657987;font-size:.88rem;line-height:1.65;-webkit-line-clamp:3;-webkit-box-orient:vertical}.pt-card-footer{padding:17px 22px 21px;border-top:1px solid #e8eff3}.pt-card-footer>span{display:flex;align-items:center;gap:5px;margin-bottom:16px;color:#7b8c98;font-size:.72rem}.pt-card-footer>span span{font-size:17px}.pt-card-footer a{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border-radius:12px;background:#edf6fb;color:var(--pt-blue);font-size:.82rem;font-weight:800;text-decoration:none;transition:.2s}.pt-card-footer a:hover,.pt-card-footer a:focus-visible{background:var(--pt-blue);color:#fff}.pt-card-footer a:focus-visible{outline:3px solid rgba(0,111,179,.2);outline-offset:2px}.pt-card-footer a span{font-size:19px;transition:transform .2s}.pt-card-footer a:hover span{transform:translateX(3px)}
.pt-state{display:flex;align-items:center;gap:20px;padding:30px;border:1px solid #d9e5eb;border-radius:22px;background:#fff}.pt-state[hidden]{display:none}.pt-state>.material-symbols-outlined{display:grid;width:58px;height:58px;flex:0 0 auto;place-items:center;border-radius:17px;background:#e9f4fa;color:var(--pt-blue);font-size:30px}.pt-state h2{margin:0 0 4px;font-size:1.18rem;font-weight:800}.pt-state p{margin:0;color:var(--pt-muted);font-size:.88rem}.pt-state>a,.pt-state>button{margin-left:auto;padding:10px 16px;border:0;border-radius:10px;background:var(--pt-blue);color:#fff;font-size:.8rem;font-weight:800;text-decoration:none}.pt-state-error>.material-symbols-outlined{background:#fff0f1;color:#b4233c}.pt-no-results{margin-top:24px}
.pt-help{padding:0 0 90px;background:var(--pt-surface)}.pt-help-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:32px 38px;border-radius:26px;background:linear-gradient(130deg,#082f49,#075985);color:#fff;box-shadow:0 24px 55px rgba(8,47,73,.18)}.pt-help-card>div:first-child{display:grid;width:64px;height:64px;place-items:center;border-radius:19px;background:rgba(255,255,255,.12)}.pt-help-card>div:first-child span{font-size:34px}.pt-help .pt-eyebrow{color:#8ed6ff}.pt-help h2{color:#fff;font-size:1.55rem}.pt-help p{margin:7px 0 0;color:#c2d9e8;font-size:.86rem}.pt-help a{display:inline-flex;align-items:center;gap:9px;padding:13px 17px;border-radius:12px;background:#fff;color:var(--pt-deep);font-size:.8rem;font-weight:800;text-decoration:none}.pt-help a:hover{background:#eaf6fc}
@media(max-width:991px){.pt-hero{padding-bottom:62px}.pt-breadcrumb{margin-bottom:34px}.pt-summary{max-width:620px}.pt-heading{align-items:start}.pt-help-card{grid-template-columns:auto 1fr}.pt-help-card>a{grid-column:2;justify-self:start}}
@media(max-width:767px){.pt-hero{padding:28px 0 52px}.pt-breadcrumb{margin-bottom:28px}.pt-hero h1{font-size:2.65rem}.pt-lead{font-size:.96rem}.pt-search{padding-left:14px}.pt-summary{grid-template-columns:auto 1fr}.pt-summary-divider{display:none}.pt-summary>div:nth-of-type(4){grid-column:2}.pt-catalog{padding:60px 0}.pt-heading{display:block}.pt-my-link{margin-top:18px}.pt-category{margin-bottom:44px}.pt-state{align-items:flex-start;flex-wrap:wrap;padding:23px}.pt-state>a,.pt-state>button{width:100%;margin-left:0}.pt-help{padding-bottom:62px}.pt-help-card{display:flex;align-items:flex-start;flex-direction:column;padding:28px}.pt-help-card>a{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.pt-card,.pt-card-footer a,.pt-card-footer a span{transition:none}.pt-card:hover{transform:none}}

/* Ficha pública previa al inicio de una solicitud. */
.pt-detail-hero {
  padding: 38px 0 62px;
  background: linear-gradient(145deg, #f7fbfe 0%, #eaf5fb 65%, #f7fbfd 100%);
}

.pt-detail-hero .pt-breadcrumb {
  margin-bottom: 36px;
}

.pt-detail-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
}

.pt-detail-heading h1 {
  max-width: 900px;
  margin: 0 0 16px;
  color: var(--pt-ink);
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.pt-detail-heading p {
  max-width: 780px;
  margin: 0;
  color: #526b7e;
  font-size: 1.08rem;
  line-height: 1.7;
}

.pt-detail-code {
  flex: 0 0 auto;
  padding: 16px 20px;
  border: 1px solid #c9dce7;
  border-radius: 16px;
  background: rgba(255, 255, 255, .8);
}

.pt-detail-code span,
.pt-detail-code strong {
  display: block;
}

.pt-detail-code span {
  margin-bottom: 4px;
  color: var(--pt-muted);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.pt-detail-content {
  padding: 64px 0 90px;
  background: var(--pt-surface);
}

.pt-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr);
  gap: 28px;
  align-items: start;
}

.pt-detail-main {
  display: grid;
  gap: 20px;
}

.pt-detail-card {
  display: flex;
  gap: 18px;
  padding: 28px;
  border: 1px solid var(--pt-line);
  border-radius: 22px;
  background: #fff;
}

.pt-detail-card > .material-symbols-outlined {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 14px;
  background: #e9f4fa;
  color: var(--pt-blue);
}

.pt-detail-card h2,
.pt-start-card h2 {
  margin: 0 0 10px;
  color: var(--pt-ink);
  font-size: 1.25rem;
  font-weight: 800;
}

.pt-detail-card p,
.pt-start-card p {
  margin: 0;
  color: #5f7484;
  line-height: 1.7;
}

.pt-applicant-types {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.pt-applicant-types li {
  padding: 8px 12px;
  border-radius: 999px;
  background: #e8f4fa;
  color: var(--pt-deep);
  font-size: .82rem;
  font-weight: 800;
}

.pt-start-card {
  position: sticky;
  top: 24px;
  padding: 30px;
  border-radius: 24px;
  background: #073f67;
  color: #fff;
  box-shadow: 0 22px 55px rgba(8, 47, 73, .18);
}

.pt-start-card > .material-symbols-outlined {
  margin-bottom: 18px;
  font-size: 36px;
  color: #8ed6ff;
}

.pt-start-card h2 {
  color: #fff;
}

.pt-start-card p {
  color: #c9dce8;
}

.pt-start-card dl {
  margin: 24px 0;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.pt-start-card dl div + div {
  margin-top: 14px;
}

.pt-start-card dt {
  color: #9fc5da;
  font-size: .72rem;
  text-transform: uppercase;
}

.pt-start-card dd {
  margin: 3px 0 0;
  font-weight: 700;
}

.pt-start-button,
.pt-back-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none;
}

.pt-start-button {
  padding: 12px 16px;
  background: #fff;
  color: var(--pt-deep);
}

.pt-back-link {
  justify-content: center;
  margin-top: 10px;
  color: #d6e8f2;
  font-size: .82rem;
}

.pt-start-button:focus-visible,
.pt-back-link:focus-visible,
.pt-document-list a:focus-visible {
  outline: 3px solid #ffca28;
  outline-offset: 3px;
}

.pt-document-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.pt-document-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--pt-line);
  border-radius: 12px;
  color: var(--pt-deep);
  text-decoration: none;
}

.pt-document-list small {
  display: block;
  margin-top: 3px;
  color: var(--pt-muted);
}

@media (max-width: 991px) {
  .pt-detail-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .pt-detail-grid {
    grid-template-columns: 1fr;
  }

  .pt-start-card {
    position: static;
  }
}

@media (max-width: 575px) {
  .pt-detail-hero {
    padding: 28px 0 46px;
  }

  .pt-detail-heading h1 {
    font-size: 2.25rem;
  }

  .pt-detail-content {
    padding: 40px 0 62px;
  }

  .pt-detail-card,
  .pt-start-card {
    padding: 22px;
  }

  .pt-detail-card {
    align-items: flex-start;
    flex-direction: column;
  }
}
