body{

    font-family:Arial,sans-serif;

    margin:40px;

    background:#f5f5f5;

}

h1{

    margin-bottom:30px;

}

.card{

    background:white;

    padding:20px;

    margin-bottom:15px;

    border-radius:10px;

    box-shadow:0 2px 8px rgba(0,0,0,.08);

    width:320px;

}

.valor{

    font-size:34px;

    font-weight:bold;

    color:#0A63D8;

}

.titulo{

    color:#666;

    margin-bottom:8px;

}

body{

    font-family:Arial,sans-serif;

    background:#f5f5f5;

    margin:40px;

}

h1{

    margin-bottom:30px;

}

table{

    width:100%;

    border-collapse:collapse;

    background:white;

    box-shadow:0 2px 8px rgba(0,0,0,.08);

}

th{

    background:#1f4ea8;

    color:white;

    padding:12px;

}

td{

    padding:12px;

    border-bottom:1px solid #ececec;

}

tr:hover{

    background:#fafafa;

}

.ver{

    color:#1f4ea8;

    text-decoration:none;

    font-weight:bold;

}

.back-link{
    display:inline-block;
    margin-bottom:20px;
    color:#1f4ea8;
    text-decoration:none;
    font-weight:bold;
}

.document-summary{
    background:white;
    padding:20px;
    margin-bottom:30px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(200px,1fr)
    );
    gap:15px;
}

.candidate-navigator{
    margin:0 0 30px;
    padding:22px;
    background:#eef6ff;
    border:1px solid #bfdbfe;
    border-radius:12px;
}

.candidate-navigator-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.candidate-navigator-heading h2{
    margin:0 0 6px;
}

.candidate-navigator-heading p{
    margin:0;
    color:#475569;
}

.candidate-navigator-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 10px;
    border-radius:999px;
    background:#1f4ea8;
    color:#fff;
    font-weight:700;
}

.candidate-navigator-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:14px;
}

.candidate-jump-card{
    display:flex;
    flex-direction:column;
    gap:7px;
    padding:16px;
    background:#fff;
    border:1px solid #dbeafe;
    border-radius:10px;
    color:#1e293b;
    text-decoration:none;
    box-shadow:0 2px 8px rgba(15,23,42,.06);
    transition:border-color .15s ease,transform .15s ease;
}

.candidate-jump-card:hover,
.candidate-jump-card:focus-visible{
    border-color:#1f4ea8;
    transform:translateY(-1px);
    outline:none;
}

.candidate-jump-label,
.candidate-jump-action{
    color:#1f4ea8;
    font-weight:700;
}

.candidate-jump-links{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:4px;
}

.candidate-jump-action{
    display:block;
    padding-top:8px;
    border-top:1px solid #e2e8f0;
    text-decoration:none;
}

.candidate-jump-action:hover,
.candidate-jump-action:focus-visible{
    text-decoration:underline;
}

.edicto-group,
.edicto-card[id^="bien-"]{
    scroll-margin-top:24px;
}

.edicto-group:target,
.edicto-card[id^="bien-"]:target{
    outline:3px solid #60a5fa;
    outline-offset:4px;
}

.edicto-card{
    background:white;
    padding:20px;
    margin-bottom:20px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.edicto-card h3{
    margin-top:0;
}

.edicto-grid{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(240px,1fr)
    );
    gap:15px;
}

.edicto-address{
    margin-top:20px;
    padding-top:15px;
    border-top:1px solid #ececec;
}

/* ===== Calidad de extracción ===== */

.quality-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
    margin:25px 0 35px;
}

.quality-card{
    background:#fff;
    border-radius:12px;
    padding:16px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.quality-title{
    font-weight:bold;
    margin-bottom:10px;
}

.quality-bar{
    width:100%;
    height:10px;
    background:#e5e7eb;
    border-radius:20px;
    overflow:hidden;
    margin:10px 0;
}

.quality-fill{
    height:100%;
    background:#2563eb;
}

.quality-text{
    font-size:14px;
    color:#555;
}

/* ===== .page-login ===== */

.page-login * {
            box-sizing: border-box;
        }

        .page-login {
            margin: 0;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px;
            font-family: Arial, sans-serif;
            background: #f4f6f8;
            color: #1f2933;
        }

        .page-login .login-card {
            width: 100%;
            max-width: 420px;
            padding: 32px;
            background: white;
            border-radius: 12px;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        }

        .page-login h1 {
            margin: 0;
            font-size: 24px;
            color: #111827;
        }

        .page-login .subtitle {
            margin: 8px 0 28px;
            color: #64748b;
        }

        .page-login label {
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
        }

        .page-login input {
            width: 100%;
            margin-bottom: 20px;
            padding: 12px;
            border: 1px solid #cbd5e1;
            border-radius: 8px;
            font-size: 16px;
        }

        .page-login button {
            width: 100%;
            padding: 12px 22px;
            border: none;
            border-radius: 8px;
            background: #111827;
            color: white;
            font-size: 16px;
            font-weight: bold;
            cursor: pointer;
        }

        .page-login button:hover {
            background: #273549;
        }

        .page-login .error {
            margin-bottom: 20px;
            padding: 14px;
            border: 1px solid #dc2626;
            border-radius: 8px;
            background: #fef2f2;
            color: #991b1b;
        }


/* ===== .page-index ===== */

.page-index * {
            box-sizing: border-box;
        }

        .page-index {
            margin: 0;
            font-family: Arial, sans-serif;
            background: #f4f6f8;
            color: #1f2933;
        }

        .page-index header {
            background: #111827;
            color: white;
            padding: 22px 32px;
        }

        .page-index header h1 {
            margin: 0;
            font-size: 24px;
        }

        .page-index header p {
            margin: 6px 0 0;
            color: #cbd5e1;
        }

        .page-index .main-nav {
    max-width: 1100px;
    margin: 20px auto 0;
    padding: 0 24px;
}

.page-index .main-nav a {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 8px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-weight: bold;
}

.page-index .main-nav a:hover {
    background: #273549;
}

        .page-index main {
            max-width: 1100px;
            margin: 48px auto;
            padding: 0 24px;
        }

        .page-index .card {
            background: white;
            border-radius: 12px;
            padding: 32px;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        }

        .page-index .card h2 {
            margin-top: 0;
        }

        .page-index .upload-area {
            margin-top: 24px;
            padding: 40px 20px;
            border: 2px dashed #94a3b8;
            border-radius: 10px;
            text-align: center;
            background: #f8fafc;
        }

        .page-index input[type="file"] {
            margin-top: 16px;
        }

        .page-index button {
            display: block;
            margin-top: 24px;
            padding: 12px 22px;
            border: none;
            border-radius: 8px;
            background: #111827;
            color: white;
            font-size: 16px;
            cursor: pointer;
        }

        .page-index button:hover {
            background: #273549;
        }

        .page-index button:disabled {
            opacity: 0.65;
            cursor: not-allowed;
        }

        .page-index .notice {
            margin-top: 20px;
            color: #64748b;
            font-size: 14px;
        }

        .page-index #results-section {
            margin-top: 32px;
        }

        .page-index #results-summary {
            padding: 18px 20px;
            border: 1px solid #cbd5e1;
            border-radius: 8px;
            background: #f8fafc;
            font-weight: bold;
        }

        .page-index .edict-card {
            margin-top: 24px;
            padding: 24px;
            border: 1px solid #d7dde5;
            border-radius: 10px;
            background: white;
        }

        .page-index .edict-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 22px;
        }

        .page-index .edict-header h3 {
            margin: 0;
        }

        .page-index .badge {
            display: inline-block;
            padding: 6px 10px;
            border-radius: 999px;
            font-size: 13px;
            font-weight: bold;
        }

        .page-index .badge-positive {
            background: #dcfce7;
            color: #166534;
        }

        .page-index .badge-negative {
            background: #f1f5f9;
            color: #475569;
        }

        .page-index .badge-warning {
    background: #fef3c7;
    color: #92400e;
}
        .page-index .section-title {
            margin: 26px 0 12px;
            padding-bottom: 8px;
            border-bottom: 1px solid #d7dde5;
            font-size: 17px;
        }

        .page-index .data-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0 24px;
        }

        .page-index .data-row {
            margin: 0;
            padding: 10px 0;
            border-bottom: 1px solid #edf0f3;
        }

        .page-index .matches {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }

        .page-index .match {
            padding: 5px 9px;
            border-radius: 6px;
            background: #e2e8f0;
            color: #334155;
            font-size: 13px;
        }

        .page-index details {
            margin-top: 24px;
        }

        .page-index summary {
            cursor: pointer;
            font-weight: bold;
        }

        .page-index .edict-text {
            max-height: 420px;
            overflow: auto;
            margin-top: 14px;
            padding: 18px;
            border: 1px solid #d7dde5;
            border-radius: 8px;
            background: #f8fafc;
            white-space: pre-wrap;
            font-family: monospace;
            line-height: 1.5;
        }

        .page-index .error-message {
            margin-top: 24px;
            padding: 16px;
            border: 1px solid #dc2626;
            border-radius: 8px;
            background: #fef2f2;
            color: #991b1b;
        }

        @media (max-width: 720px) {
            .page-index .data-grid {
                grid-template-columns: 1fr;
            }

            .page-index .edict-header {
                align-items: flex-start;
                flex-direction: column;
            }
        }


/* ===== .page-director ===== */

.page-director {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 24px;
            background: #f5f5f5;
            color: #222;
        }

        .page-director h1 {
            margin-top: 0;
        }

        .page-director h2 {
            margin-top: 32px;
        }

        .page-director .indicadores {
            display: grid;
            grid-template-columns:
                repeat(
                    auto-fit,
                    minmax(180px, 1fr)
                );
            gap: 16px;
        }

        .page-director .indicador {
            background: #fff;
            border: 1px solid #ddd;
            border-radius: 8px;
            padding: 18px;
        }

        .page-director .indicador strong {
            display: block;
            font-size: 28px;
            margin-top: 8px;
        }

        .page-director .bloque {
            background: #fff;
            border: 1px solid #ddd;
            border-radius: 8px;
            padding: 18px;
            margin-top: 16px;
            overflow-x: auto;
        }

        .page-director table {
            width: 100%;
            border-collapse: collapse;
        }

        .page-director th,
        .page-director td {
            text-align: left;
            padding: 10px;
            border-bottom: 1px solid #ddd;
            vertical-align: top;
        }

        .page-director th {
            background: #f0f0f0;
        }

        .page-director .vacio {
            color: #666;
            margin: 0;
        }

        .page-director .alerta {
            font-weight: bold;
        }

.document-image-preview {
    max-width: 320px;
    height: auto;
}

.quality-fill-0 {
    width: 0%;
}

.quality-fill-1 {
    width: 1%;
}

.quality-fill-2 {
    width: 2%;
}

.quality-fill-3 {
    width: 3%;
}

.quality-fill-4 {
    width: 4%;
}

.quality-fill-5 {
    width: 5%;
}

.quality-fill-6 {
    width: 6%;
}

.quality-fill-7 {
    width: 7%;
}

.quality-fill-8 {
    width: 8%;
}

.quality-fill-9 {
    width: 9%;
}

.quality-fill-10 {
    width: 10%;
}

.quality-fill-11 {
    width: 11%;
}

.quality-fill-12 {
    width: 12%;
}

.quality-fill-13 {
    width: 13%;
}

.quality-fill-14 {
    width: 14%;
}

.quality-fill-15 {
    width: 15%;
}

.quality-fill-16 {
    width: 16%;
}

.quality-fill-17 {
    width: 17%;
}

.quality-fill-18 {
    width: 18%;
}

.quality-fill-19 {
    width: 19%;
}

.quality-fill-20 {
    width: 20%;
}

.quality-fill-21 {
    width: 21%;
}

.quality-fill-22 {
    width: 22%;
}

.quality-fill-23 {
    width: 23%;
}

.quality-fill-24 {
    width: 24%;
}

.quality-fill-25 {
    width: 25%;
}

.quality-fill-26 {
    width: 26%;
}

.quality-fill-27 {
    width: 27%;
}

.quality-fill-28 {
    width: 28%;
}

.quality-fill-29 {
    width: 29%;
}

.quality-fill-30 {
    width: 30%;
}

.quality-fill-31 {
    width: 31%;
}

.quality-fill-32 {
    width: 32%;
}

.quality-fill-33 {
    width: 33%;
}

.quality-fill-34 {
    width: 34%;
}

.quality-fill-35 {
    width: 35%;
}

.quality-fill-36 {
    width: 36%;
}

.quality-fill-37 {
    width: 37%;
}

.quality-fill-38 {
    width: 38%;
}

.quality-fill-39 {
    width: 39%;
}

.quality-fill-40 {
    width: 40%;
}

.quality-fill-41 {
    width: 41%;
}

.quality-fill-42 {
    width: 42%;
}

.quality-fill-43 {
    width: 43%;
}

.quality-fill-44 {
    width: 44%;
}

.quality-fill-45 {
    width: 45%;
}

.quality-fill-46 {
    width: 46%;
}

.quality-fill-47 {
    width: 47%;
}

.quality-fill-48 {
    width: 48%;
}

.quality-fill-49 {
    width: 49%;
}

.quality-fill-50 {
    width: 50%;
}

.quality-fill-51 {
    width: 51%;
}

.quality-fill-52 {
    width: 52%;
}

.quality-fill-53 {
    width: 53%;
}

.quality-fill-54 {
    width: 54%;
}

.quality-fill-55 {
    width: 55%;
}

.quality-fill-56 {
    width: 56%;
}

.quality-fill-57 {
    width: 57%;
}

.quality-fill-58 {
    width: 58%;
}

.quality-fill-59 {
    width: 59%;
}

.quality-fill-60 {
    width: 60%;
}

.quality-fill-61 {
    width: 61%;
}

.quality-fill-62 {
    width: 62%;
}

.quality-fill-63 {
    width: 63%;
}

.quality-fill-64 {
    width: 64%;
}

.quality-fill-65 {
    width: 65%;
}

.quality-fill-66 {
    width: 66%;
}

.quality-fill-67 {
    width: 67%;
}

.quality-fill-68 {
    width: 68%;
}

.quality-fill-69 {
    width: 69%;
}

.quality-fill-70 {
    width: 70%;
}

.quality-fill-71 {
    width: 71%;
}

.quality-fill-72 {
    width: 72%;
}

.quality-fill-73 {
    width: 73%;
}

.quality-fill-74 {
    width: 74%;
}

.quality-fill-75 {
    width: 75%;
}

.quality-fill-76 {
    width: 76%;
}

.quality-fill-77 {
    width: 77%;
}

.quality-fill-78 {
    width: 78%;
}

.quality-fill-79 {
    width: 79%;
}

.quality-fill-80 {
    width: 80%;
}

.quality-fill-81 {
    width: 81%;
}

.quality-fill-82 {
    width: 82%;
}

.quality-fill-83 {
    width: 83%;
}

.quality-fill-84 {
    width: 84%;
}

.quality-fill-85 {
    width: 85%;
}

.quality-fill-86 {
    width: 86%;
}

.quality-fill-87 {
    width: 87%;
}

.quality-fill-88 {
    width: 88%;
}

.quality-fill-89 {
    width: 89%;
}

.quality-fill-90 {
    width: 90%;
}

.quality-fill-91 {
    width: 91%;
}

.quality-fill-92 {
    width: 92%;
}

.quality-fill-93 {
    width: 93%;
}

.quality-fill-94 {
    width: 94%;
}

.quality-fill-95 {
    width: 95%;
}

.quality-fill-96 {
    width: 96%;
}

.quality-fill-97 {
    width: 97%;
}

.quality-fill-98 {
    width: 98%;
}

.quality-fill-99 {
    width: 99%;
}

.quality-fill-100 {
    width: 100%;
}

/* ===== Estilos sin CSS inline ===== */


.dashboard-card-link {
    text-decoration: none;
    color: inherit;
}

.dashboard-card-action {
    margin-top: 12px;
}

.form-inline {
    display: inline;
}

/* ===== Interfaz administrativa autenticada ===== */

.page-admin {
    margin: 0;
    min-height: 100vh;
    padding: 32px 40px 48px;
    box-sizing: border-box;
    background: #f4f6f8;
    color: #1f2933;
}

.page-admin *,
.page-admin *::before,
.page-admin *::after {
    box-sizing: border-box;
}

.jios-navigation {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
    margin: -32px -40px 32px;
    padding: 16px 40px;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.jios-navigation-user {
    flex: 0 0 auto;
    color: #111827;
}

.jios-navigation-links {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
}

.jios-navigation-links a {
    color: #1f4ea8;
    font-weight: 600;
    text-decoration: none;
}

.jios-navigation-links a:hover {
    text-decoration: underline;
}

.jios-navigation-logout {
    flex: 0 0 auto;
    margin: 0;
}

.jios-navigation-logout button {
    margin: 0;
    white-space: nowrap;
}

.page-admin main {
    width: 100%;
}

.page-admin h1 {
    margin-top: 0;
    margin-bottom: 12px;
    color: #111827;
}

.page-admin h2,
.page-admin h3 {
    color: #1f2933;
}

.page-admin .card {
    width: 100%;
    max-width: 760px;
}

.page-admin form:not(.jios-navigation-logout):not(.form-inline) {
    display: grid;
    gap: 10px;
    width: 100%;
    max-width: 760px;
}

.page-admin label {
    display: block;
    font-weight: 600;
    color: #374151;
}

.page-admin input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.page-admin select,
.page-admin textarea {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #111827;
    font: inherit;
}

.page-admin textarea {
    min-height: 96px;
    resize: vertical;
}

.page-admin input:focus,
.page-admin select:focus,
.page-admin textarea:focus {
    outline: 2px solid #93c5fd;
    outline-offset: 1px;
    border-color: #2563eb;
}

.page-admin small {
    color: #64748b;
}

.page-admin button {
    display: inline-block;
    width: fit-content;
    min-height: 38px;
    padding: 8px 14px;
    border: 0;
    border-radius: 6px;
    background: #1f4ea8;
    color: #ffffff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.page-admin button:hover {
    background: #173d86;
}

.page-admin button:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.page-admin .form-inline {
    display: inline;
}

.page-admin .form-inline button {
    margin: 0;
}

@media (max-width: 900px) {
    .page-admin {
        padding: 24px 20px 40px;
    }

    .jios-navigation {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        margin: -24px -20px 24px;
        padding: 16px 20px;
    }

    .jios-navigation-links {
        width: 100%;
    }
}

/* Public investment experience */
body.page-public-opportunities,
body.page-public-opportunity{
    margin:0;
    background:#f4f7fb;
    color:#102a43;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.public-shell{max-width:1180px;margin:0 auto;padding:0 24px;}
.public-header{background:#082b45;color:#fff;padding:18px 0;}
.public-header .public-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.public-brand{font-size:30px;font-weight:800;letter-spacing:.08em;color:#fff;text-decoration:none;}
.public-brand small{font-size:14px;font-weight:500;letter-spacing:0;margin-left:12px;opacity:.8;}
.public-nav a{color:#fff;text-decoration:none;font-weight:600;margin-left:24px;}
.public-main{padding:42px 24px 64px;}
.public-main h1{margin:0 0 10px;font-size:36px;line-height:1.15;}
.public-lead{margin:0 0 30px;color:#627d98;font-size:17px;}
.public-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start;}
.public-opportunity-card{background:#fff;border:1px solid #d9e2ec;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(16,42,67,.08);display:grid;grid-template-columns:minmax(320px,40%) 1fr;}
.public-card-image{position:relative;background:#d9e2ec;overflow:hidden;min-height:360px;}
.public-card-image img{width:100%;height:100%;object-fit:cover;display:block;}
.public-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;background:#e6f6ed;color:#137a42;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}
.public-card-image .public-status{position:absolute;top:16px;right:16px;}
.public-card-body{padding:22px;}
.public-card-body h2{margin:0 0 8px;font-size:24px;}
.public-location{margin:0 0 20px;color:#526d82;}
.public-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px 0;border-top:1px solid #e6edf3;border-bottom:1px solid #e6edf3;}
.public-label{display:block;color:#627d98;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;}
.public-money{font-size:19px;font-weight:800;color:#102a43;}
.public-discount{margin:16px 0;padding:14px 16px;border-radius:12px;background:#eaf7ef;color:#176b3a;display:flex;justify-content:space-between;align-items:center;font-weight:700;}
.public-discount strong{font-size:24px;}
.public-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:18px 0;color:#334e68;font-size:14px;}
.public-meta span{display:block;}
.public-card-description{color:#526d82;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.public-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;padding:13px 18px;border:0;border-radius:9px;background:#0f5d9d;color:#fff;text-decoration:none;font:inherit;font-weight:800;cursor:pointer;}
.public-note{color:#627d98;font-size:12px;line-height:1.45;margin-top:14px;}
.public-footer{background:#082b45;color:#d9e2ec;padding:24px 0;margin-top:30px;}
.public-detail-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:24px;align-items:start;}
.public-hero{background:#fff;border:1px solid #d9e2ec;border-radius:16px;overflow:hidden;}
.public-hero img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.public-summary{background:#fff;border:1px solid #d9e2ec;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(16,42,67,.06);}
.public-summary h1{font-size:30px;margin-bottom:10px;}
.public-summary .public-status{margin-bottom:18px;}
.public-detail-section{background:#fff;border:1px solid #d9e2ec;border-radius:16px;padding:26px;margin-top:24px;}
.public-detail-section h2{margin:0 0 18px;font-size:22px;}
.public-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.public-fact{padding:14px 0;border-bottom:1px solid #e6edf3;}
.public-description{line-height:1.7;color:#334e68;}
.public-warning{background:#edf6ff;border:1px solid #c7e2f7;border-radius:12px;padding:18px;line-height:1.55;color:#334e68;}
.public-back{display:inline-block;margin-bottom:20px;color:#0f5d9d;text-decoration:none;font-weight:700;}
.public-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.public-form-field{margin:0;}
.public-form-field label{display:block;font-weight:700;margin-bottom:7px;}
.public-form-field input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #bcccdc;border-radius:8px;font:inherit;background:#fff;}
.public-form-actions{grid-column:1/-1;margin:4px 0 0;}
#participation-success{padding:14px 18px;border-radius:10px;background:#e6f6ed;color:#137a42;font-weight:700;}
@media(max-width:800px){.public-opportunity-card{grid-template-columns:1fr}.public-card-image{min-height:0;aspect-ratio:16/9}.public-header .public-shell{align-items:flex-start}.public-nav{display:none}.public-brand small{display:block;margin:4px 0 0}.public-main{padding:28px 16px 48px}.public-detail-top{grid-template-columns:1fr}.public-facts{grid-template-columns:1fr 1fr}.public-form-grid{grid-template-columns:1fr}.public-form-actions{grid-column:auto}.public-money-grid{grid-template-columns:1fr}.public-main h1{font-size:30px}}
@media(max-width:480px){.public-shell{padding-left:16px;padding-right:16px}.public-grid{grid-template-columns:1fr}.public-facts,.public-meta{grid-template-columns:1fr}.public-card-body{padding:18px}}
.public-image-open{position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;display:block;}
.public-image-open img{width:100%;}
.public-image-open span{position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(11,42,67,.86);color:#fff;font-size:13px;font-weight:800;}
.public-unlock-callout{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:22px;padding:20px;border:1px solid #b9d7ee;border-radius:12px;background:#f3f9fd;}
.public-unlock-callout strong{display:block;color:#102a43;font-size:18px;}
.public-unlock-callout p{margin:6px 0 0;color:#486581;line-height:1.5;}
.public-unlock-button{width:auto;min-width:260px;}
.public-unlock-section{scroll-margin-top:24px;}
.public-unlock-section h3{margin:20px 0 8px;color:#102a43;}
.public-unlock-status{margin:18px 0;padding:14px 16px;border:1px solid #b9d7ee;border-radius:10px;background:#f3f9fd;color:#243b53;font-weight:700;}
.public-payment-options{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.public-button-secondary{background:#fff;color:#102a43;border:1px solid #9fb3c8;}
.public-image-dialog{width:min(94vw,1200px);max-width:none;padding:0;border:0;border-radius:14px;background:#0b1f30;overflow:visible;}
.public-image-dialog::backdrop{background:rgba(4,20,33,.86);}
.public-image-dialog img{display:block;max-width:94vw;max-height:90vh;width:auto;height:auto;margin:auto;border-radius:14px;}
.public-image-close{position:absolute;right:-12px;top:-12px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#102a43;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25);}
@media(max-width:760px){.public-unlock-callout{grid-template-columns:1fr}.public-unlock-button{width:100%;min-width:0}.public-image-open span{font-size:12px}.public-image-dialog{width:96vw}.public-image-dialog img{max-width:96vw;max-height:88vh}}
