:root{color-scheme:light;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f4f6f4;color:#102b27}
*{box-sizing:border-box}body{margin:0}.shell{width:min(100% - 32px,760px);margin:auto;padding:20px 0 64px}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #b6c9c0;padding:12px 0 20px}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:#155848}
.language{max-width:180px}.intro{padding:28px 0 12px}h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;margin:0 0 12px}
h2{font-size:1.2rem;margin:0 0 16px}p{line-height:1.5}.card{background:#fff;border:1px solid #c5d3ca;border-radius:16px;padding:22px;margin:16px 0;box-shadow:0 10px 30px #153f2610}
fieldset{border:0;padding:0;margin:0 0 22px}legend{font-weight:700;margin-bottom:12px}
label{display:block;font-weight:650;margin-bottom:16px}label span{display:block;margin-bottom:7px}
input:not([type=checkbox]):not([type=radio]),select{width:100%;padding:12px;border:1px solid #55756a;border-radius:8px;color:#102b27;background:#fff;font:inherit}
.check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.check input{width:20px;height:20px;accent-color:#075d43;flex:none;margin:2px 0 0}.check span{margin:0}
button{background:#075d43;color:white;border:2px solid #075d43;border-radius:9px;padding:12px 20px;font:inherit;font-weight:750;cursor:pointer;min-height:48px}
button:hover{background:#034631}button.quiet{background:#fff;color:#075d43}button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid #a04809;outline-offset:3px}.price{display:flex;justify-content:space-between;gap:12px;margin:10px 0}.total{border-top:1px solid #b6c9c0;padding-top:12px;font-size:1.2rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.actions{display:flex;flex-wrap:wrap;gap:12px}dialog{border:1px solid #55756a;border-radius:14px;max-width:min(100% - 32px,520px);padding:24px;color:#102b27}
dialog::backdrop{background:#102b2799}@media(max-width:520px){.grid{display:block}.card{padding:18px}.language{max-width:145px}}
.prewrap{white-space:pre-line;overflow-wrap:anywhere}
.terms{margin:-8px 0 16px 32px}.terms summary{cursor:pointer;font-weight:650;color:#075d43;min-height:44px;display:flex;align-items:center}
.terms p{max-height:18rem;overflow:auto;border:1px solid #c5d3ca;border-radius:8px;padding:12px;margin:4px 0 0}
.promo{margin:0 0 22px;min-width:0}.promo label{margin-bottom:7px}.promo-row{display:flex;gap:8px;min-width:0}
.promo-row input:not([type=checkbox]){flex:1 1 auto;min-width:0;width:auto}.promo-row button{flex:none}
.promo-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px}
.promo-status p,.promo p{margin:8px 0 0;overflow-wrap:anywhere}.promo .ok{font-weight:700;margin:0}
.promo-lines{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}
.promo-lines li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;overflow-wrap:anywhere;min-width:0}
.promo-lines li span{min-width:0}button.link{background:none;border-color:transparent;color:#075d43;padding-left:0}
button.link:hover{background:none;text-decoration:underline}
.error{color:#9b1c1c;font-weight:650}.note{color:#4a5f58}.info{color:#102b27;font-weight:650}
.banner{background:#fff4c7;border:1px solid #8a6500;border-radius:10px;padding:12px;margin:12px 0;overflow-wrap:anywhere}
.banner.info{background:#eef5f1;border-color:#55756a}.banner p{margin:0}.banner .actions{margin:8px 0 0}

[hidden] { display: none !important; }
