.card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;box-shadow:0 10px 25px rgba(15,23,42,.04)}
.label{display:block;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.45rem}.input{width:100%;border:1px solid #cbd5e1;border-radius:.75rem;padding:.75rem .9rem;background:#fff;outline:0;transition:.15s}.input:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;background:#1d4ed8;color:white;font-weight:700;padding:.8rem 1.1rem;transition:.15s}.btn-primary:hover{background:#1e40af}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;background:#e2e8f0;color:#0f172a;font-weight:700;padding:.8rem 1.1rem}.btn-secondary:hover{background:#cbd5e1}.tab-btn{flex:1;padding:.85rem 1rem;font-weight:700;color:#64748b;border-bottom:2px solid transparent}.tab-btn.active{color:#1d4ed8;border-color:#1d4ed8}.alert-success{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:.8rem;padding:.8rem 1rem}.alert-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:.8rem;padding:.8rem 1rem}.paper-row{display:flex;gap:.85rem;align-items:flex-start;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem;cursor:pointer}.paper-row:hover{border-color:#93c5fd;background:#eff6ff}.paper-checkbox{margin-top:.25rem;width:1.05rem;height:1.05rem}.badge-success{display:inline-flex;align-items:center;border-radius:999px;background:#dcfce7;color:#166534;font-size:.75rem;font-weight:700;padding:.2rem .55rem}.badge-warning{display:inline-flex;align-items:center;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:700;padding:.2rem .55rem}.check-card{display:flex;gap:.65rem;align-items:flex-start;border:1px solid #e2e8f0;border-radius:.9rem;padding:.85rem;font-size:.9rem;cursor:pointer}.check-card:hover{border-color:#93c5fd;background:#eff6ff}.check-card input{margin-top:.2rem}.fee-box{border:1px solid #bfdbfe;background:#eff6ff;border-radius:1rem;padding:1rem}.fee-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed #bfdbfe;padding:.35rem 0;font-size:.92rem}.fee-row:last-child{border-bottom:0}.fee-total{font-size:1.1rem;font-weight:800;color:#1d4ed8}

.fees-table-card{background:#fff;border:1px solid #dbeafe;border-radius:1.1rem;box-shadow:0 12px 28px rgba(15,23,42,.06);overflow:hidden}.fees-table-heading{background:#0b3b68;color:#fff;text-align:center;padding:1rem}.fees-table-heading h3{font-size:1.15rem;font-weight:900;letter-spacing:.04em}.fees-table-wrap{padding:1rem}.fees-table{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff}.fees-table th{background:#eaf3ff;color:#0f172a;text-align:center;font-weight:900;border:1px solid #b6d4f5;padding:.8rem .6rem}.fees-table th:first-child{text-align:left}.fees-table th span{font-size:.78rem;color:#475569}.fees-table td{border:1px solid #cbd5e1;padding:.72rem .65rem;text-align:center;font-weight:700;color:#0f172a}.fees-table td:first-child{text-align:left;font-weight:700}.fees-group-row td{background:#0f5d9f!important;color:#fff!important;text-align:left!important;font-weight:900;text-transform:none;letter-spacing:.02em}.fees-note{margin:0 1rem 1rem 1rem;border-left:4px solid #0f5d9f;background:#eff6ff;color:#1e3a8a;font-size:.86rem;line-height:1.45;padding:.75rem .85rem;border-radius:.6rem}

.site-footer-pro{margin-top:2.5rem;border-top:1px solid rgba(148,163,184,.35);background:#fff;color:#0f172a}.site-footer-inner{max-width:1120px;margin:0 auto;padding:1rem 1rem}.footer-partner-grid{display:flex;align-items:center;justify-content:center;gap:1.7rem;flex-wrap:wrap}.footer-partner-item{min-height:58px;display:flex;align-items:center;justify-content:flex-start;gap:.85rem;padding:0}.footer-partner-item+.footer-partner-item{border-left:1px solid #e5e7eb;padding-left:1.7rem}.footer-partner-label{flex:0 0 auto;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.075em;color:#334155;line-height:1.25;white-space:nowrap}.footer-partner-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start}.footer-partner-logo img{display:block;width:auto;max-width:190px;max-height:46px;object-fit:contain}.footer-partner-item:nth-child(1) .footer-partner-logo img{max-width:210px}.footer-partner-item:nth-child(2) .footer-partner-logo img{max-width:54px;max-height:54px}.footer-partner-item:nth-child(3) .footer-partner-logo img{max-width:210px;max-height:48px}
@media (max-width:1024px){.site-footer-inner{max-width:960px}.footer-partner-grid{gap:1.2rem}.footer-partner-item{gap:.65rem}.footer-partner-item+.footer-partner-item{padding-left:1.2rem}.footer-partner-label{font-size:.66rem;letter-spacing:.055em}.footer-partner-logo img{max-width:165px;max-height:42px}.footer-partner-item:nth-child(1) .footer-partner-logo img,.footer-partner-item:nth-child(3) .footer-partner-logo img{max-width:175px}.footer-partner-item:nth-child(2) .footer-partner-logo img{max-width:48px;max-height:48px}}
@media (max-width:767px){.footer-partner-grid{display:block}.footer-partner-item{min-height:auto;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.55rem;padding:1rem 0}.footer-partner-item+.footer-partner-item{border-left:0;border-top:1px solid #e5e7eb;padding-left:0}.footer-partner-label{font-size:.72rem;white-space:normal;max-width:none}.footer-partner-logo{justify-content:center}.footer-partner-logo img{max-width:78%;max-height:48px}.footer-partner-item:nth-child(1) .footer-partner-logo img,.footer-partner-item:nth-child(3) .footer-partner-logo img{max-width:78%}.footer-partner-item:nth-child(2) .footer-partner-logo img{max-width:58px;max-height:58px}}
@media (max-width:640px){.fees-table{font-size:.84rem}.fees-table th,.fees-table td{padding:.58rem .45rem}}

.paper-title{font-weight:700;color:#0F5D9F;}
.paper-authors{font-style:italic;}

/* Password strength checklist */
.password-rules{
    margin-top:.75rem;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    border-radius:.95rem;
    padding:.85rem .95rem;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.password-rules-title{
    display:flex;
    align-items:center;
    gap:.45rem;
    font-size:.78rem;
    font-weight:800;
    color:#334155;
    margin-bottom:.58rem;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.password-rules-title::before{
    content:'!';
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.05rem;
    height:1.05rem;
    border-radius:999px;
    background:#dbeafe;
    color:#1d4ed8;
    font-size:.72rem;
    font-weight:900;
}
.password-rules ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:.42rem;
}
.password-rules li,
.password-rule{
    display:flex;
    align-items:center;
    gap:.5rem;
    font-size:.86rem;
    font-weight:700;
    line-height:1.3;
    color:#dc2626 !important;
    transition:color .18s ease, transform .18s ease;
}
.password-rules li::before,
.password-rule::before{
    content:'×';
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:1.12rem;
    height:1.12rem;
    border-radius:999px;
    background:#fee2e2;
    color:#dc2626;
    font-size:.78rem;
    font-weight:900;
    line-height:1;
    transition:all .18s ease;
}
.password-rules li.is-valid,
.password-rule.is-valid{
    color:#15803d !important;
}
.password-rules li.is-valid::before,
.password-rule.is-valid::before{
    content:'✓';
    background:#dcfce7;
    color:#15803d;
}
.password-rules li.is-invalid,
.password-rule.is-invalid{
    color:#dc2626 !important;
}
.password-rules li.is-invalid::before,
.password-rule.is-invalid::before{
    content:'×';
    background:#fee2e2;
    color:#dc2626;
}

