.val-app{margin:0 0 2rem}.val-app__toolbar{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.val-app__toolbar .btn{font-size:.875rem}.val-app__unit-select{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.875rem}.val-app__grid{display:grid;gap:1.25rem}@media(min-width:960px){.val-app__grid--main{grid-template-columns:1fr 1fr}.val-app__grid--wide{grid-template-columns:1.2fr .8fr}}.val-panel{padding:1.1rem 1.15rem;border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card)}.val-panel h3{margin:0 0 .75rem;font-size:1.05rem;color:var(--navy-800)}.val-panel fieldset{margin:0 0 1rem;padding:.85rem;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.val-panel legend{padding:0 .35rem;font-weight:600;font-size:.9rem}.val-fields{display:grid;gap:.65rem}@media(min-width:560px){.val-fields--2{grid-template-columns:1fr 1fr}}.val-field{display:grid;gap:.25rem}.val-field span{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--gray-600)}.val-field input,.val-field select{width:100%;padding:.45rem .55rem;border:1px solid var(--gray-300);border-radius:8px;font:inherit}.val-tip{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;background:var(--cyan-100);color:var(--teal-700);font-size:.68rem;font-weight:700;cursor:help}.val-cards{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.val-card{padding:1rem;border-radius:12px;background:linear-gradient(180deg,var(--cyan-50) 0%,var(--white) 100%);border:1px solid var(--gray-200)}.val-card span{display:block;font-size:.78rem;color:var(--gray-600);margin-bottom:.35rem}.val-card strong{display:block;font-size:1.25rem;color:var(--navy-900);line-height:1.2}.val-card small{display:block;margin-top:.25rem;font-size:.72rem;color:var(--gray-500)}.val-alert{margin:.75rem 0 0;padding:.65rem .85rem;border-radius:8px;font-size:.85rem}.val-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.val-alert--warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.val-table-wrap{overflow-x:auto;margin-top:.75rem}.val-table{width:100%;border-collapse:collapse;font-size:.82rem}.val-table th,.val-table td{padding:.45rem .5rem;border-bottom:1px solid var(--gray-200);text-align:right;white-space:nowrap}.val-table th:first-child,.val-table td:first-child{text-align:left}.val-table thead th{background:var(--gray-50);font-weight:600}.val-range{display:grid;gap:.5rem;margin-top:1rem}.val-range__bar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;height:12px;border-radius:999px;overflow:hidden}.val-range__bar span:nth-child(1){background:#f59e0b}.val-range__bar span:nth-child(2){background:var(--teal-500)}.val-range__bar span:nth-child(3){background:#059669}.val-range__labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;font-size:.78rem;text-align:center}.val-charts{display:grid;gap:1rem}@media(min-width:720px){.val-charts{grid-template-columns:1fr 1fr}}.val-chart-box canvas{width:100%;max-height:220px}.val-method{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200);font-size:.88rem;line-height:1.55;color:var(--gray-700)}.val-method h3{font-size:1rem;margin:1rem 0 .5rem}.val-disclaimer{margin-top:1.5rem;padding:1rem;border-radius:var(--radius-md);background:var(--gray-50);font-size:.85rem;color:var(--gray-600);font-style:italic}.val-scenario-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.val-scenario-tabs button{padding:.35rem .75rem;border:1px solid var(--gray-300);border-radius:999px;background:var(--white);font:inherit;font-size:.82rem;cursor:pointer}.val-scenario-tabs button[aria-selected=true]{background:var(--teal-600);border-color:var(--teal-600);color:var(--white)}.val-sens td.is-base{background:var(--cyan-50);font-weight:600}.val-sens td.is-invalid{color:var(--gray-400)}@media print{.val-app__toolbar,.site-header,.site-footer,.primary-navigation,.skip-link{display:none!important}.val-panel{break-inside:avoid;box-shadow:none}}
