.ek-app{--ek-green:#145c49;--ek-border:#dce4df;--ek-ink:#20372e;font:16px/1.55 system-ui,sans-serif;color:var(--ek-ink);background:#f5f7f3;border:1px solid var(--ek-border);border-radius:20px;max-width:1180px;margin:24px auto;padding:clamp(18px,4vw,44px);box-sizing:border-box}.ek-app *{box-sizing:border-box}.ek-app h1,.ek-app h2,.ek-app h3,.ek-app p{font-family:inherit;color:inherit;line-height:1.3;margin:0 0 16px}.ek-app h1{font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:-1.4px}.ek-app h2{font-size:24px}.ek-app h3{font-size:19px}.ek-app .ek-eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800;color:var(--ek-green)}.ek-app .ek-muted{color:#56665e;font-size:14px}.ek-app .ek-banner{padding:14px 18px;background:#fff2d8;border-left:4px solid #af7018;border-radius:6px;margin:18px 0}.ek-app .ek-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:start}.ek-app .ek-card{background:#fff;border:1px solid var(--ek-border);border-radius:12px;padding:22px;margin-bottom:16px}.ek-app label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}.ek-app input,.ek-app select,.ek-app textarea{font:inherit!important;color:#20372e!important;background:#fff!important;border:1px solid #879b90!important;border-radius:6px!important;padding:10px!important;width:100%;height:auto!important;min-height:44px;box-shadow:none!important}.ek-app input[type=checkbox]{width:19px;min-height:19px;accent-color:#145c49;vertical-align:middle;margin-right:8px}.ek-app fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}.ek-app legend{font-weight:700;margin-bottom:10px;font-size:18px}.ek-app .ek-field{margin-bottom:16px}.ek-app .ek-check{font-weight:400;display:flex;gap:6px;align-items:center}.ek-app button,.ek-app .ek-button{font:600 14px/1.4 system-ui,sans-serif;cursor:pointer;background:var(--ek-green);color:#fff;border:1px solid var(--ek-green);border-radius:6px;padding:11px 16px;min-height:44px;display:inline-block;text-decoration:none;margin:4px 8px 4px 0}.ek-app button.secondary{background:#fff;color:var(--ek-green)}.ek-app button:disabled{opacity:.5;cursor:not-allowed}.ek-app :focus-visible{outline:3px solid #cc841a!important;outline-offset:3px}.ek-app .ek-badge{display:inline-block;font-weight:700;font-size:12px;border-radius:30px;padding:5px 10px;margin-bottom:12px;background:#fff1d3;color:#785014}.ek-app .ek-badge.pass{background:#def2e5;color:#175239}.ek-app .ek-badge.fail{background:#f7e3df;color:#8d3125}.ek-app ul{padding-left:20px;margin:10px 0 18px}.ek-app li{margin-bottom:7px;font-size:14px}.ek-app a{color:#145c49;text-decoration:underline}.ek-app summary{cursor:pointer;font-weight:600;padding:8px 0}.ek-app .ek-amount{font-size:36px;font-weight:750;letter-spacing:-1px}.ek-app .ek-result{scroll-margin-top:30px}.ek-app .ek-actions{display:flex;flex-wrap:wrap;gap:4px}.ek-app .ek-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.ek-app .ek-row{border-top:1px solid var(--ek-border);padding:16px 0}.ek-app textarea{min-height:170px;font-family:monospace!important;font-size:13px!important}.ek-app .ek-error{color:#9b3024;font-weight:600}.ek-app .ek-success{color:#145c49;font-weight:600}.ek-app .ek-admin-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.ek-app .ek-admin-list button[aria-pressed=true]{outline:3px solid #cfb97a}.ek-app .ek-print-only{display:none}@media(max-width:760px){.ek-app .ek-grid,.ek-app .ek-columns{grid-template-columns:1fr}.ek-app{margin:10px auto;padding:18px;border-radius:10px}.ek-app .ek-card{padding:17px}}@media print{.ek-app{border:0;padding:0;margin:0;background:#fff}.ek-app .ek-grid{display:block}.ek-app .ek-no-print,.ek-app button{display:none!important}.ek-app .ek-card{break-inside:avoid}.ek-app .ek-print-only{display:block}}

.ek-app [hidden]{display:none!important}.ek-app .ek-wizard{max-width:900px;margin:auto}.ek-app .ek-recommendation{border:2px solid #145c49;background:#eaf7ed}.ek-app nav{margin:12px 0 24px;padding:0}
.ek-login,.ek-account{max-width:1080px;margin:24px auto;padding:clamp(20px,4vw,42px);background:#fff;border:1px solid #dfe7e3;border-radius:18px;box-shadow:0 12px 36px rgba(16,54,43,.09);color:#173a30}.ek-login form{max-width:460px}.ek-login label{display:block;font-weight:700;margin:14px 0 6px}.ek-login input[type=text],.ek-login input[type=password]{width:100%;padding:12px;border:1px solid #aebdb7;border-radius:8px}.ek-login input[type=submit]{padding:12px 22px;border:0;border-radius:8px;background:#18705a;color:#fff;font-weight:700;cursor:pointer}.ek-account{padding:12px 18px;margin-bottom:12px;text-align:right}
