:root{
  --ec-primary:#0d6efd;
  --ec-accent:#fd7e14;
  --ec-bg:#f6f8fb;
}
body{background:var(--ec-bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;}
.hero{background:linear-gradient(135deg,#0d6efd 0%,#0a58ca 100%);color:#fff;padding:3rem 0;}
.hero h1{font-weight:700;}
.calc-card{transition:.2s;border:none;box-shadow:0 2px 6px rgba(0,0,0,.06);height:100%;}
.calc-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,.12);}
.calc-card .icon{font-size:2rem;color:var(--ec-primary);}
.calc-card a.stretched-link{text-decoration:none;color:inherit;}
.result-box{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;padding:1.25rem;}
.result-box h3{color:var(--ec-primary);font-weight:700;}
.result-box .summary{font-size:1.15rem;}
.result-box .summary strong{color:#198754;}
.material-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px dashed #e2e6ea;}
.material-row:last-child{border-bottom:none;}
.calc-form .form-label{font-weight:500;}
.calc-form .form-control,.calc-form .form-select{border-radius:.4rem;}
.section-title{border-left:4px solid var(--ec-accent);padding-left:.75rem;margin:1.5rem 0 1rem;font-weight:600;}
.badge-grade{font-size:.75rem;padding:.3rem .55rem;}
table.results td{padding:.4rem .6rem;}
table.results td:first-child{color:#6c757d;}
table.results td:last-child{font-weight:600;text-align:right;}
@media print{.navbar,.no-print,footer{display:none;}}
.print-area{background:#fff;padding:1.5rem;border-radius:.5rem;}
.conv-out{font-size:1.1rem;font-family:"SF Mono",Monaco,monospace;}
