/* MiVirtue Assessment v0.3 */
.mivirtue-card,.mivirtue-assessment-wrap{max-width:780px;margin:32px auto;background:#fff;border:1px solid rgba(36,89,83,.14);border-radius:18px;padding:32px;box-shadow:0 18px 45px rgba(0,0,0,.06);color:#245953}
.mivirtue-card h2,.mivirtue-assessment-header h2{color:#245953;margin:0 0 10px;font-size:30px;line-height:1.2;font-weight:700}
.mivirtue-muted,.mivirtue-assessment-header p,.mivirtue-note{color:rgba(36,89,83,.78);font-size:16px;line-height:1.6}.mivirtue-note{font-size:13px;margin-top:14px}
.mivirtue-form{display:grid;gap:18px;margin-top:24px}.mivirtue-form label{display:grid;gap:7px;color:#245953;font-weight:600}
.mivirtue-form input,.mivirtue-form select,.mivirtue-inline-form input{width:100%;border:1px solid rgba(36,89,83,.22);border-radius:12px;padding:13px 14px;color:#245953;font-size:16px;background:#fff;line-height:1.4;min-height:44px}.mivirtue-form select{height:44px;padding-top:8px;padding-bottom:8px;appearance:auto;-webkit-appearance:menulist}
.mivirtue-form input:focus,.mivirtue-form select:focus,.mivirtue-inline-form input:focus{outline:none;border-color:#245953;box-shadow:0 0 0 3px rgba(36,89,83,.12)}
.mivirtue-summary,.mivirtue-important,.mivirtue-child-banner{margin:24px 0;padding:20px;border-radius:14px;background:rgba(36,89,83,.06);color:#245953}
.mivirtue-child-banner{font-size:17px;line-height:1.6;border-left:5px solid #245953}.mivirtue-important h3{margin:0 0 10px;color:#245953}.mivirtue-important ul{margin:0;padding-left:20px}.mivirtue-important li{margin:8px 0;line-height:1.5}
.mivirtue-alert{padding:14px 16px;background:#fff5f2;border:1px solid #ffd8cc;border-radius:12px;color:#9a3412}
.mivirtue-btn,.mivirtue-secondary-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 24px;font-size:16px;font-weight:700;text-decoration:none!important;cursor:pointer;border:none;transition:.2s}
.mivirtue-btn{background:#245953;color:#fff!important;box-shadow:0 12px 24px rgba(36,89,83,.2)}.mivirtue-btn:hover{background:#1d4742;transform:translateY(-1px)}
.mivirtue-secondary-btn{background:rgba(36,89,83,.08);color:#245953}.mivirtue-secondary-btn:hover{background:rgba(36,89,83,.14)}
.mivirtue-inline-form{display:flex;gap:10px;align-items:center}.mivirtue-inline-form input{max-width:280px}
.mivirtue-progress-text{margin-top:20px;margin-bottom:8px;color:#245953;font-weight:700;font-size:14px}.mivirtue-progress-bar{width:100%;height:10px;background:rgba(36,89,83,.12);border-radius:999px;overflow:hidden}.mivirtue-progress-fill{height:100%;width:0;background:#245953;border-radius:999px;transition:width .25s ease}
.mivirtue-question-step{display:none}.mivirtue-question-step.is-active{display:block}.mivirtue-question-card{border:1px solid rgba(36,89,83,.14);border-radius:18px;padding:28px;background:#fff}
.mivirtue-question-number{margin:0 0 14px;color:rgba(36,89,83,.7);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mivirtue-question-text{margin:0 0 24px;color:#245953;font-size:22px;line-height:1.45;font-weight:700}
.mivirtue-options{display:grid;gap:13px}.mivirtue-options label{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border:1px solid rgba(36,89,83,.18);border-radius:14px;color:#245953;font-size:17px;font-weight:400;line-height:1.5;cursor:pointer;background:rgba(36,89,83,.025)}
.mivirtue-options label:hover{border-color:rgba(36,89,83,.42);background:rgba(36,89,83,.055)}.mivirtue-options input[type=radio]{margin-top:5px;accent-color:#245953;width:18px;height:18px;flex:0 0 auto}.mivirtue-options label:has(input[type=radio]:checked){border-color:#245953;background:rgba(36,89,83,.08)}
.mivirtue-step-actions{display:flex;justify-content:space-between;gap:14px;margin-top:30px}.mivirtue-submit{display:none}.mivirtue-error{color:#b42318;background:#fff2f0;border:1px solid #ffccc7;padding:12px 14px;border-radius:12px;margin-top:18px;display:none}
@media(max-width:640px){.mivirtue-card,.mivirtue-assessment-wrap{padding:22px;margin:20px auto}.mivirtue-question-card{padding:22px}.mivirtue-question-text{font-size:19px}.mivirtue-options label{font-size:16px}.mivirtue-step-actions,.mivirtue-inline-form{flex-direction:column}.mivirtue-btn,.mivirtue-secondary-btn,.mivirtue-inline-form input{width:100%;max-width:none}}

.mivirtue-terms-box{margin:24px 0;padding:20px;border-radius:14px;border:1px solid rgba(36,89,83,.16);background:rgba(36,89,83,.04);color:#245953}.mivirtue-terms-box h3{margin:0 0 12px;color:#245953}.mivirtue-terms-box ul{margin:0 0 16px;padding-left:20px}.mivirtue-terms-box li{margin:8px 0;line-height:1.5}.mivirtue-terms-check{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:#245953}.mivirtue-terms-check input{margin-top:5px;accent-color:#245953}


/* v0.3.4 final polish */
.mivirtue-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#245953;background:rgba(36,89,83,.08);padding:7px 12px;border-radius:999px;margin-bottom:12px}
.mivirtue-dashboard-card h2,.mivirtue-thankyou-card h2{font-size:34px;letter-spacing:-.02em}
.mivirtue-identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.mivirtue-identity-grid div{border:1px solid rgba(36,89,83,.14);background:linear-gradient(180deg,rgba(36,89,83,.055),rgba(36,89,83,.02));border-radius:14px;padding:16px}
.mivirtue-identity-grid span,.mivirtue-reference-box span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(36,89,83,.62);margin-bottom:6px}
.mivirtue-identity-grid strong,.mivirtue-reference-box strong{display:block;color:#245953;font-size:17px;line-height:1.3}
.mivirtue-terms-box{margin-top:22px;border:1px solid rgba(36,89,83,.16);border-radius:16px;background:#fff;padding:20px}
.mivirtue-terms-box h3{margin:0 0 14px;color:#245953;font-size:20px}
.mivirtue-terms-scroll{max-height:360px;overflow:auto;border:1px solid rgba(36,89,83,.12);border-radius:12px;padding:18px;background:rgba(36,89,83,.025);color:#245953;line-height:1.6}
.mivirtue-terms-scroll h4{margin:18px 0 8px;color:#245953;font-size:15px}.mivirtue-terms-scroll h4:first-child{margin-top:0}.mivirtue-terms-scroll p{margin:0 0 12px;color:rgba(36,89,83,.88)}
.mivirtue-terms-check{display:flex;gap:12px;align-items:flex-start;margin-top:16px;color:#245953;font-weight:600;line-height:1.5}.mivirtue-terms-check input{margin-top:5px;accent-color:#245953;width:18px;height:18px;flex:0 0 auto}
.mivirtue-success-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#245953;color:#fff;font-size:34px;font-weight:800;margin-bottom:18px;box-shadow:0 16px 28px rgba(36,89,83,.22)}
.mivirtue-reference-box{border:1px solid rgba(36,89,83,.16);border-left:5px solid #245953;background:rgba(36,89,83,.055);border-radius:14px;padding:18px;margin:24px 0}.mivirtue-reference-box strong{font-size:24px;letter-spacing:.04em}
.mivirtue-next-steps{margin:24px 0;padding:22px;border-radius:16px;background:rgba(36,89,83,.045);color:#245953}.mivirtue-next-steps h3{margin:0 0 12px;color:#245953}.mivirtue-next-steps ul{margin:0;padding-left:20px}.mivirtue-next-steps li{margin:8px 0;line-height:1.55}
.mivirtue-form select{min-height:52px;line-height:1.35;padding-top:13px;padding-bottom:13px}
@media(max-width:640px){.mivirtue-identity-grid{grid-template-columns:1fr}.mivirtue-dashboard-card h2,.mivirtue-thankyou-card h2{font-size:28px}.mivirtue-terms-scroll{max-height:320px}}

/* v0.4.1 bright child-friendly refresh */
:root{--mv-primary:#2B5CFF;--mv-purple:#8B5CF6;--mv-coral:#FF7A6B;--mv-mint:#E7FFF4;--mv-sky:#EAF6FF;--mv-ink:#172554;--mv-soft:#F8FAFF}
.mivirtue-card,.mivirtue-assessment-wrap{background:linear-gradient(180deg,#ffffff 0%,#FBFDFF 100%);border:1px solid rgba(43,92,255,.13);box-shadow:0 22px 55px rgba(23,37,84,.10);color:var(--mv-ink)}
.mivirtue-card h2,.mivirtue-assessment-header h2,.mivirtue-question-text{color:var(--mv-ink)}
.mivirtue-muted,.mivirtue-assessment-header p,.mivirtue-note{color:rgba(23,37,84,.72)}
.mivirtue-kicker{color:#fff;background:linear-gradient(135deg,var(--mv-primary),var(--mv-purple));box-shadow:0 10px 20px rgba(43,92,255,.16)}
.mivirtue-form label{color:var(--mv-ink)}
.mivirtue-form input,.mivirtue-form select,.mivirtue-inline-form input{border-color:rgba(43,92,255,.18);color:var(--mv-ink);background:#fff}
.mivirtue-form input:focus,.mivirtue-form select:focus,.mivirtue-inline-form input:focus{border-color:var(--mv-primary);box-shadow:0 0 0 4px rgba(43,92,255,.12)}
.mivirtue-btn{background:linear-gradient(135deg,var(--mv-primary),var(--mv-purple));box-shadow:0 14px 30px rgba(43,92,255,.25)}
.mivirtue-btn:hover{background:linear-gradient(135deg,#204BE0,#7C3AED)}
.mivirtue-secondary-btn{background:rgba(43,92,255,.08);color:var(--mv-primary)}
.mivirtue-progress-bar{background:rgba(43,92,255,.12)}.mivirtue-progress-fill{background:linear-gradient(90deg,var(--mv-coral),var(--mv-purple),var(--mv-primary))}
.mivirtue-question-card{border-color:rgba(43,92,255,.13);background:linear-gradient(180deg,#fff,#fbfdff)}
.mivirtue-question-number{color:var(--mv-primary)}
.mivirtue-options label{border-color:rgba(43,92,255,.14);color:var(--mv-ink);background:#fff}
.mivirtue-options label:nth-child(1){background:linear-gradient(90deg,rgba(231,255,244,.72),#fff)}
.mivirtue-options label:nth-child(2){background:linear-gradient(90deg,rgba(234,246,255,.82),#fff)}
.mivirtue-options label:nth-child(3){background:linear-gradient(90deg,rgba(255,244,204,.55),#fff)}
.mivirtue-options label:nth-child(4){background:linear-gradient(90deg,rgba(250,232,255,.62),#fff)}
.mivirtue-options label:hover,.mivirtue-options label:has(input[type=radio]:checked){border-color:var(--mv-primary);box-shadow:0 10px 24px rgba(43,92,255,.10)}
.mivirtue-options input[type=radio],.mivirtue-terms-check input{accent-color:var(--mv-primary)}
.mivirtue-identity-grid div,.mivirtue-summary,.mivirtue-next-steps{border-color:rgba(43,92,255,.13);background:linear-gradient(135deg,rgba(234,246,255,.86),rgba(231,255,244,.70))}
.mivirtue-identity-grid span,.mivirtue-reference-box span{color:rgba(23,37,84,.62)}
.mivirtue-identity-grid strong,.mivirtue-reference-box strong,.mivirtue-terms-box h3,.mivirtue-terms-scroll h4,.mivirtue-next-steps h3{color:var(--mv-ink)}
.mivirtue-terms-box{border-color:rgba(43,92,255,.14);background:#fff}.mivirtue-terms-scroll{border-color:rgba(43,92,255,.12);background:var(--mv-soft);color:var(--mv-ink)}.mivirtue-terms-scroll p{color:rgba(23,37,84,.78)}
.mivirtue-success-icon{background:linear-gradient(135deg,#22C55E,var(--mv-primary));box-shadow:0 16px 30px rgba(34,197,94,.22)}
.mivirtue-reference-box{border-color:rgba(43,92,255,.16);border-left-color:var(--mv-primary);background:linear-gradient(135deg,rgba(234,246,255,.95),rgba(250,232,255,.65))}
.mivirtue-school-search-wrap{display:grid;gap:6px}.mivirtue-school-help{color:rgba(23,37,84,.60);font-weight:500}.mivirtue-invalid-school{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.10)!important}

/* MV TRIAD Matrix v1 school search */
.mivirtue-school-search-wrap{position:relative;}
.mivirtue-school-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid rgba(74,85,104,.18);border-radius:14px;box-shadow:0 18px 45px rgba(31,41,55,.14);overflow:hidden;}
.mivirtue-school-result{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:0;border-bottom:1px solid rgba(74,85,104,.08);background:#fff;color:#243b53;text-align:left;cursor:pointer;}
.mivirtue-school-result:hover{background:#eef8ff;}
.mivirtue-school-result strong{font-weight:700;}
.mivirtue-school-result small{color:#64748b;white-space:nowrap;}
.mivirtue-school-noresult{padding:12px 14px;color:#9a3412;background:#fff7ed;font-size:14px;}
.mivirtue-invalid-school{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important;}
