:root{--jcf-navy:#1B3A6B;--jcf-gold:#C9A84C;--jcf-gold2:#F0D080;--jcf-green:#1E6B3A;--jcf-lgreen:#E2F0E8;--jcf-lgrey:#F2F5FA;--jcf-r:8px}
.jcf-wrap{max-width:860px;margin:0 auto;font-family:-apple-system,sans-serif;font-size:14px;color:#1a1a2e}
.jcf-header{background:var(--jcf-navy);border-radius:var(--jcf-r) var(--jcf-r) 0 0;padding:1.5rem 2rem}
.jcf-header-inner{display:flex;align-items:center;gap:14px;margin-bottom:.75rem}
.jcf-logo-text{background:var(--jcf-gold);color:var(--jcf-navy);font-weight:700;font-size:18px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.jcf-header-title{color:#fff;font-size:20px;font-weight:600}
.jcf-header-sub{color:var(--jcf-gold2);font-size:13px;margin-top:2px}
.jcf-notice{background:rgba(201,168,76,.2);border:1px solid rgba(201,168,76,.4);border-radius:4px;padding:.6rem 1rem;color:var(--jcf-gold2);font-size:13px}
.jcf-form{background:#fff;border:1px solid #dde2f0;border-top:none;border-radius:0 0 var(--jcf-r) var(--jcf-r)}
.jcf-section{padding:1.5rem 2rem;border-bottom:1px solid #eef0f8}
.jcf-section-title{font-size:13px;font-weight:600;color:var(--jcf-navy);padding:.5rem .75rem;border-radius:4px;margin-bottom:1rem;background:var(--jcf-lgrey);display:flex;align-items:center;gap:8px}
.jcf-section-a{border-left:4px solid var(--jcf-navy)}
.jcf-section-b{border-left:4px solid var(--jcf-gold)}
.jcf-section-c{border-left:4px solid var(--jcf-green)}
.jcf-locked-badge{background:#e2f0e8;color:var(--jcf-green);font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;margin-left:auto}
.jcf-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem;padding:.75rem}
.jcf-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
@media(max-width:600px){.jcf-grid-2,.jcf-grid-3{grid-template-columns:1fr}}
.jcf-field{display:flex;flex-direction:column;gap:4px}
.jcf-field label{font-size:11px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.04em}
.jcf-field input,.jcf-field select,.jcf-field textarea{background:#fffde7;border:1px solid #ddd;border-radius:4px;padding:8px 10px;font-size:14px;color:#1a1a2e;width:100%;outline:none;transition:border-color .2s}
.jcf-field input:focus,.jcf-field select:focus{border-color:var(--jcf-navy);background:#fff}
.jcf-field.required input,.jcf-field.required select{border-left:3px solid var(--jcf-gold)}
.jcf-hint{font-size:11px;color:#888}
.req{color:#c00}
.jcf-scoring-guide{background:#fff8e1;border:1px solid #ffe082;border-radius:4px;padding:.75rem 1rem;font-size:13px;margin-bottom:1rem;line-height:1.7}
.jcf-comp-block{border:1px solid #dde2f0;border-radius:6px;overflow:hidden;margin-bottom:.75rem}
.jcf-comp-header{background:var(--jcf-lgrey);padding:.6rem 1rem;display:flex;align-items:center;gap:8px;border-bottom:1px solid #eef0f8}
.jcf-comp-num{background:var(--jcf-navy);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.jcf-comp-label{font-size:13px;color:var(--jcf-navy);font-weight:500}
.jcf-comp-label em{font-style:normal;color:#888;font-size:12px}
.jcf-score-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:.5rem .75rem .75rem}
@media(max-width:600px){.jcf-score-row{grid-template-columns:repeat(2,1fr)}}
.jcf-score-cell{display:flex;flex-direction:column;gap:4px}
.jcf-score-cell label{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em}
.jcf-score-cell select{background:#fffde7;border:1px solid #ddd;border-radius:4px;padding:6px 8px;font-size:13px;width:100%}
.jcf-locked-field{background:var(--jcf-lgreen);border:1px solid #c0dd97;border-radius:4px;padding:8px 10px;font-size:14px;font-weight:600;color:var(--jcf-green);min-height:36px;cursor:not-allowed;user-select:none;display:flex;align-items:center}
.jcf-cs-cell .jcf-locked-field{font-size:16px;justify-content:center}
.jcf-tci{font-size:22px !important;justify-content:center;color:#1B3A6B !important;background:#e6f1fb !important;border-color:#b5d4f4 !important}
.jcf-tier{font-size:20px !important;justify-content:center}
.jcf-tier-label{color:var(--jcf-navy) !important}
.jcf-mult{color:var(--jcf-green) !important;font-size:18px !important;justify-content:center}
.jcf-section-calc{background:#fafffe}
.jcf-calc-notice{background:var(--jcf-lgreen);border:1px solid #c0dd97;border-radius:4px;padding:.6rem 1rem;font-size:13px;color:var(--jcf-green);margin-bottom:1rem}
.jcf-tci-breakdown{background:#f9fafF;border:1px solid #dde2f0;border-radius:4px;padding:1rem;margin-top:1rem}
.jcf-breakdown-title{font-size:12px;font-weight:600;color:var(--jcf-navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.jcf-bd-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #eef0f8;font-size:13px}
.jcf-bd-row:last-child{border-bottom:none;font-weight:700;color:var(--jcf-navy);font-size:14px}
.jcf-bd-formula{font-family:monospace;font-size:12px;color:#666}
.jcf-declaration{margin:.5rem 0}
.jcf-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#444;cursor:pointer}
.jcf-checkbox input{margin-top:2px;flex-shrink:0;width:16px;height:16px}
.jcf-submit-row{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:#f9faff;border-top:1px solid #eef0f8}
.jcf-submit-note{font-size:12px;color:#888;max-width:420px}
.jcf-btn-submit{background:var(--jcf-navy);color:#fff;border:none;border-radius:var(--jcf-r);padding:12px 28px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}
.jcf-btn-submit:hover{opacity:.85}
.jcf-btn-submit:disabled{opacity:.4;cursor:not-allowed}
.jcf-success-box{background:#fff;border:1px solid #c0dd97;border-radius:var(--jcf-r);padding:3rem 2rem;text-align:center;max-width:520px;margin:2rem auto}
.jcf-success-icon{width:60px;height:60px;border-radius:50%;background:var(--jcf-lgreen);color:var(--jcf-green);font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.jcf-success-box h2{color:var(--jcf-navy);margin-bottom:.75rem}
.jcf-success-box p{color:#555;font-size:14px;line-height:1.7;margin-bottom:.5rem}
.jcf-ref{font-size:12px;color:#888}
