.pcg-wrap{--pcg-red:#b31322;--pcg-red-dark:#7d0d18;--pcg-black:#111114;--pcg-gray:#f2f2f3;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#17171a}.pcg-public{position:relative;overflow:hidden;padding:26px;background:linear-gradient(135deg,rgba(179,19,34,.10),rgba(0,0,0,.05)),repeating-linear-gradient(45deg,transparent 0 18px,rgba(0,0,0,.035) 19px 20px);border-radius:22px}.pcg-public:before{content:"";position:absolute;right:-120px;top:-120px;width:300px;height:300px;background:radial-gradient(circle,rgba(179,19,34,.2),transparent 62%);pointer-events:none}.pcg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.pcg-card{position:relative;background:#fff;border-radius:20px;padding:24px;box-shadow:0 14px 38px rgba(0,0,0,.13);margin:18px 0;border:1px solid rgba(0,0,0,.06);overflow:hidden}.pcg-card:before{content:"";position:absolute;right:-70px;top:-70px;width:160px;height:160px;background:linear-gradient(135deg,rgba(179,19,34,.13),rgba(0,0,0,.08));transform:rotate(22deg);border-radius:30px}.pcg-card>*{position:relative;z-index:1}.pcg-hero-card,.pcg-password-card{background:linear-gradient(135deg,#111114,#323238 55%,#b31322);color:#fff}.pcg-hero-card h2,.pcg-password-card h2{color:#fff}.pcg-form label{display:block;font-weight:800;margin:12px 0 6px}.pcg-form input,.pcg-form select,.pcg-form textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:12px;padding:12px;background:#fff}.pcg-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#b31322,#111);color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:900;cursor:pointer;margin-top:14px;text-decoration:none;box-shadow:0 10px 24px rgba(179,19,34,.25)}.pcg-btn:hover{filter:brightness(.95);color:#fff}.pcg-table-wrap{overflow:auto}.pcg-table{width:100%;border-collapse:collapse;background:#fff}.pcg-table th,.pcg-table td{border-bottom:1px solid #eee;padding:11px;text-align:left}.pcg-table th{font-weight:900}.pcg-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.pcg-kpis>div{position:relative;overflow:hidden;background:linear-gradient(135deg,#111114,#2c2c31 62%,#b31322);color:#fff;border-radius:18px;padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.14)}.pcg-kpis>div:after{content:"";position:absolute;right:-30px;bottom:-40px;width:110px;height:110px;background:rgba(255,255,255,.1);transform:rotate(35deg);border-radius:24px}.pcg-kpis strong{display:block;font-size:25px;line-height:1.15}.pcg-kpis span{color:#ddd;font-weight:700}.pcg-notice{background:#fff3cd;border-left:5px solid #b31322;padding:14px;border-radius:12px;margin-bottom:16px;box-shadow:0 8px 20px rgba(0,0,0,.08)}.pcg-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;background:#eee;color:#333}.pcg-status-validado,.pcg-status-aprobado{background:#e5f5ea;color:#176d33}.pcg-status-pendiente{background:#fff2cc;color:#7a4d00}.pcg-status-rechazado,.pcg-status-bloqueado{background:#fde2e2;color:#9f1f1f}@media(max-width:640px){.pcg-public{padding:12px;border-radius:14px}.pcg-card{padding:17px;border-radius:16px}.pcg-kpis{grid-template-columns:1fr}.pcg-table th,.pcg-table td{padding:9px}}


/* Version 1.0.2 - pagina publica especifica */
.pcg-public-gate { max-width: 1180px; margin: 0 auto; }
.pcg-public-hero { position: relative; overflow: hidden; border-radius: 28px; padding: 34px; margin: 24px 0; color: #fff; background: linear-gradient(135deg, #111217 0%, #7f0d18 58%, #d01827 100%); box-shadow: 0 18px 48px rgba(0,0,0,.2); }
.pcg-public-hero:before, .pcg-public-hero:after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.17); transform: rotate(28deg); pointer-events: none; }
.pcg-public-hero:before { width: 230px; height: 230px; right: -70px; top: -90px; }
.pcg-public-hero:after { width: 150px; height: 150px; right: 120px; bottom: -75px; }
.pcg-public-hero h1 { margin: 4px 0 8px; color: #fff; font-size: clamp(30px, 5vw, 54px); line-height: 1; }
.pcg-public-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.9); font-size: 17px; }
.pcg-eyebrow { display: inline-flex; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.14); color: #fff; text-transform: uppercase; font-weight: 700; letter-spacing: .08em; font-size: 12px; }
.pcg-auth-grid { align-items: start; }
.pcg-muted { color: #5f6368; margin-top: -4px; }
.pcg-help { margin: 0; padding: 10px 12px; border-radius: 12px; background: #f4f4f5; color: #3f3f46; font-size: 13px; }
.pcg-small-link { margin: 10px 0 0; font-size: 13px; }
.pcg-btn-small { display: inline-flex !important; width: auto !important; padding: 10px 14px !important; margin-top: 8px; text-decoration: none !important; }
.pcg-legal-text { border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; padding: 12px; max-height: 160px; overflow: auto; font-size: 13px; }
.pcg-hero-card { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
@media (max-width: 720px) {
  .pcg-public-hero { padding: 24px; border-radius: 20px; }
  .pcg-hero-card { display: block; }
}

/* Version 1.0.5 - contraste y legibilidad frontend */
.pcg-wrap,
.pcg-public,
.pcg-wrap.pcg-public,
.pcg-public-gate {
    --pcg-red: #b31324;
    --pcg-red-dark: #7f0d19;
    --pcg-black: #111111;
    --pcg-dark: #1b1b1f;
    --pcg-dark-soft: #2a2a31;
    --pcg-gray: #6b7280;
    --pcg-gray-light: #e5e7eb;
    --pcg-white: #ffffff;
    --pcg-off-white: #f8fafc;
    --pcg-text-dark: #111827;
    --pcg-text-light: #f9fafb;
    --pcg-text-muted-light: #e5e7eb;
    --pcg-text-muted-dark: #4b5563;
    --pcg-border-light: rgba(255,255,255,0.24);
    --pcg-border-dark: rgba(17,24,39,0.16);
    color: var(--pcg-text-dark);
}

.pcg-public .pcg-card,
.pcg-public .pcg-form,
.pcg-public .pcg-table,
.pcg-public .pcg-notice,
.pcg-public .pcg-legal-text,
.pcg-public .pcg-help,
.pcg-wrap .pcg-card,
.pcg-wrap .pcg-form,
.pcg-wrap .pcg-table,
.pcg-wrap .pcg-notice,
.pcg-wrap .pcg-legal-text,
.pcg-wrap .pcg-help {
    color: var(--pcg-text-dark);
}

.pcg-public .pcg-card h1,
.pcg-public .pcg-card h2,
.pcg-public .pcg-card h3,
.pcg-public .pcg-card h4,
.pcg-public .pcg-form label,
.pcg-public .pcg-table td,
.pcg-public .pcg-table th,
.pcg-wrap .pcg-card h1,
.pcg-wrap .pcg-card h2,
.pcg-wrap .pcg-card h3,
.pcg-wrap .pcg-card h4,
.pcg-wrap .pcg-form label,
.pcg-wrap .pcg-table td,
.pcg-wrap .pcg-table th {
    color: var(--pcg-text-dark);
}

.pcg-public .pcg-muted,
.pcg-public .pcg-help,
.pcg-public .pcg-small-link,
.pcg-public .pcg-card small,
.pcg-wrap .pcg-muted,
.pcg-wrap .pcg-help,
.pcg-wrap .pcg-small-link,
.pcg-wrap .pcg-card small {
    color: var(--pcg-text-muted-dark);
}

.pcg-public .pcg-public-hero,
.pcg-public .pcg-hero-card,
.pcg-public .pcg-password-card,
.pcg-public .pcg-kpis > div,
.pcg-public .pcg-gradient-dark,
.pcg-public .pcg-card-dark,
.pcg-public .pcg-dark,
.pcg-wrap .pcg-public-hero,
.pcg-wrap .pcg-hero-card,
.pcg-wrap .pcg-password-card,
.pcg-wrap .pcg-kpis > div,
.pcg-wrap .pcg-gradient-dark,
.pcg-wrap .pcg-card-dark,
.pcg-wrap .pcg-dark {
    color: var(--pcg-text-light) !important;
}

.pcg-public .pcg-public-hero h1,
.pcg-public .pcg-public-hero h2,
.pcg-public .pcg-public-hero h3,
.pcg-public .pcg-public-hero p,
.pcg-public .pcg-public-hero span,
.pcg-public .pcg-public-hero strong,
.pcg-public .pcg-hero-card h1,
.pcg-public .pcg-hero-card h2,
.pcg-public .pcg-hero-card h3,
.pcg-public .pcg-hero-card p,
.pcg-public .pcg-hero-card span,
.pcg-public .pcg-hero-card strong,
.pcg-public .pcg-password-card h1,
.pcg-public .pcg-password-card h2,
.pcg-public .pcg-password-card h3,
.pcg-public .pcg-password-card p,
.pcg-public .pcg-password-card span,
.pcg-public .pcg-password-card strong,
.pcg-public .pcg-kpis > div h1,
.pcg-public .pcg-kpis > div h2,
.pcg-public .pcg-kpis > div h3,
.pcg-public .pcg-kpis > div p,
.pcg-public .pcg-kpis > div span,
.pcg-public .pcg-kpis > div strong,
.pcg-wrap .pcg-public-hero h1,
.pcg-wrap .pcg-public-hero h2,
.pcg-wrap .pcg-public-hero h3,
.pcg-wrap .pcg-public-hero p,
.pcg-wrap .pcg-public-hero span,
.pcg-wrap .pcg-public-hero strong,
.pcg-wrap .pcg-hero-card h1,
.pcg-wrap .pcg-hero-card h2,
.pcg-wrap .pcg-hero-card h3,
.pcg-wrap .pcg-hero-card p,
.pcg-wrap .pcg-hero-card span,
.pcg-wrap .pcg-hero-card strong,
.pcg-wrap .pcg-password-card h1,
.pcg-wrap .pcg-password-card h2,
.pcg-wrap .pcg-password-card h3,
.pcg-wrap .pcg-password-card p,
.pcg-wrap .pcg-password-card span,
.pcg-wrap .pcg-password-card strong,
.pcg-wrap .pcg-kpis > div h1,
.pcg-wrap .pcg-kpis > div h2,
.pcg-wrap .pcg-kpis > div h3,
.pcg-wrap .pcg-kpis > div p,
.pcg-wrap .pcg-kpis > div span,
.pcg-wrap .pcg-kpis > div strong {
    color: var(--pcg-text-light) !important;
}

.pcg-public .pcg-public-hero p,
.pcg-public .pcg-hero-card p,
.pcg-public .pcg-password-card p,
.pcg-public .pcg-kpis > div span,
.pcg-public .pcg-gradient-dark .description,
.pcg-public .pcg-card-dark .description,
.pcg-public .pcg-dark .description,
.pcg-wrap .pcg-public-hero p,
.pcg-wrap .pcg-hero-card p,
.pcg-wrap .pcg-password-card p,
.pcg-wrap .pcg-kpis > div span,
.pcg-wrap .pcg-gradient-dark .description,
.pcg-wrap .pcg-card-dark .description,
.pcg-wrap .pcg-dark .description {
    color: var(--pcg-text-muted-light) !important;
}

.pcg-public input[type="text"],
.pcg-public input[type="email"],
.pcg-public input[type="password"],
.pcg-public input[type="number"],
.pcg-public input[type="date"],
.pcg-public input[type="file"],
.pcg-public select,
.pcg-public textarea,
.pcg-wrap input[type="text"],
.pcg-wrap input[type="email"],
.pcg-wrap input[type="password"],
.pcg-wrap input[type="number"],
.pcg-wrap input[type="date"],
.pcg-wrap input[type="file"],
.pcg-wrap select,
.pcg-wrap textarea {
    background: var(--pcg-white) !important;
    color: var(--pcg-text-dark) !important;
    border: 1px solid #cbd5e1 !important;
}

.pcg-public input::placeholder,
.pcg-public textarea::placeholder,
.pcg-wrap input::placeholder,
.pcg-wrap textarea::placeholder {
    color: #6b7280 !important;
    opacity: 1;
}

.pcg-public input:focus,
.pcg-public select:focus,
.pcg-public textarea:focus,
.pcg-public .pcg-btn:focus-visible,
.pcg-wrap input:focus,
.pcg-wrap select:focus,
.pcg-wrap textarea:focus,
.pcg-wrap .pcg-btn:focus-visible {
    outline: 3px solid rgba(179,19,36,0.28) !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 1px var(--pcg-red) !important;
}

.pcg-public .pcg-btn,
.pcg-public .pcg-btn-primary,
.pcg-public button.pcg-btn,
.pcg-wrap .pcg-btn,
.pcg-wrap .pcg-btn-primary,
.pcg-wrap button.pcg-btn {
    background: linear-gradient(135deg, var(--pcg-red), var(--pcg-black)) !important;
    color: var(--pcg-white) !important;
    border-color: var(--pcg-red-dark) !important;
    text-decoration: none !important;
    text-shadow: none !important;
}

.pcg-public .pcg-btn:hover,
.pcg-public .pcg-btn:focus,
.pcg-public .pcg-btn-primary:hover,
.pcg-public .pcg-btn-primary:focus,
.pcg-wrap .pcg-btn:hover,
.pcg-wrap .pcg-btn:focus,
.pcg-wrap .pcg-btn-primary:hover,
.pcg-wrap .pcg-btn-primary:focus {
    background: linear-gradient(135deg, var(--pcg-red-dark), var(--pcg-black)) !important;
    color: var(--pcg-white) !important;
}

.pcg-public .pcg-btn-secondary,
.pcg-wrap .pcg-btn-secondary {
    background: var(--pcg-white) !important;
    color: var(--pcg-text-dark) !important;
    border: 1px solid var(--pcg-border-dark) !important;
}

.pcg-public .pcg-table,
.pcg-wrap .pcg-table {
    background: var(--pcg-white);
    color: var(--pcg-text-dark);
}

.pcg-public .pcg-table th,
.pcg-wrap .pcg-table th {
    background: var(--pcg-dark) !important;
    color: var(--pcg-white) !important;
    border-color: var(--pcg-dark-soft) !important;
}

.pcg-public .pcg-table td,
.pcg-wrap .pcg-table td {
    background: var(--pcg-white);
    color: var(--pcg-text-dark);
}

.pcg-public .pcg-table tr:nth-child(even) td,
.pcg-wrap .pcg-table tr:nth-child(even) td {
    background: var(--pcg-off-white);
    color: var(--pcg-text-dark);
}

.pcg-public .pcg-notice,
.pcg-wrap .pcg-notice {
    background: #fff7ed !important;
    color: #7c2d12 !important;
    border-left-color: var(--pcg-red) !important;
}

.pcg-public .pcg-status,
.pcg-wrap .pcg-status {
    text-shadow: none !important;
}

.pcg-public .pcg-status-pendiente,
.pcg-wrap .pcg-status-pendiente {
    background: #fef3c7 !important;
    color: #78350f !important;
}

.pcg-public .pcg-status-aprobado,
.pcg-public .pcg-status-validado,
.pcg-wrap .pcg-status-aprobado,
.pcg-wrap .pcg-status-validado {
    background: #dcfce7 !important;
    color: #14532d !important;
}

.pcg-public .pcg-status-rechazado,
.pcg-public .pcg-status-bloqueado,
.pcg-wrap .pcg-status-rechazado,
.pcg-wrap .pcg-status-bloqueado {
    background: #fee2e2 !important;
    color: #7f1d1d !important;
}

.pcg-public a:not(.pcg-btn),
.pcg-wrap a:not(.pcg-btn) {
    color: #8f0f1d;
}

.pcg-public a:not(.pcg-btn):hover,
.pcg-public a:not(.pcg-btn):focus,
.pcg-wrap a:not(.pcg-btn):hover,
.pcg-wrap a:not(.pcg-btn):focus {
    color: #5f0912;
}

/* Version 1.0.7 - integracion con tema, logo y acceso a gestion */
body.pcg-chirigota-public-page header,
body.pcg-chirigota-public-page footer,
body.pcg-chirigota-public-page .site-header,
body.pcg-chirigota-public-page .site-footer,
body.pcg-chirigota-public-page .main-header,
body.pcg-chirigota-public-page .main-footer {
    visibility: visible !important;
    opacity: 1 !important;
}
.pcg-public .pcg-brand-public { display: flex; align-items: center; gap: 18px; position: relative; z-index: 2; margin-bottom: 12px; }
.pcg-public .pcg-brand-logo { width: auto; max-width: 110px; max-height: 90px; object-fit: contain; background: rgba(255,255,255,.92); border-radius: 18px; padding: 8px; box-shadow: 0 10px 26px rgba(0,0,0,.18); }
.pcg-public .pcg-brand-text h1 { margin: 4px 0 0; color: #fff !important; font-size: clamp(30px, 5vw, 54px); line-height: 1; }
.pcg-public .pcg-user-role-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pcg-public .pcg-manage-plugin-btn { margin-top: 0 !important; vertical-align: middle; }
.pcg-public .pcg-sale-concurso-check { display: inline-flex !important; align-items: center !important; gap: 7px; }
.pcg-public .pcg-sale-concurso-check input[type="checkbox"] { width: 14px !important; height: 14px !important; min-width: 14px !important; margin: 0 !important; }
@media (max-width: 640px) {
    .pcg-public .pcg-brand-public { align-items: flex-start; flex-direction: column; }
    .pcg-public .pcg-brand-logo { max-width: 94px; max-height: 78px; }
}
.pcg-public .pcg-check input[type="checkbox"],
.pcg-wrap.pcg-public .pcg-check input[type="checkbox"] { width: 14px !important; height: 14px !important; min-width: 14px !important; margin: 0 6px 0 0 !important; display: inline-block !important; vertical-align: middle; }
.pcg-public .pcg-check { display: inline-flex !important; align-items: center !important; gap: 6px; }
