:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#162e29;background:#f2f5f0;line-height:1.55;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header,main,footer{width:min(1100px,100%);margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:36px}h1{font-size:clamp(1.6rem,5vw,2.3rem);margin:0;letter-spacing:-.04em}h2{font-size:1.3rem;margin:8px 0 12px}h3{font-size:1.05rem}p{margin:8px 0 18px}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.12em;margin:0;color:#4d6a5f}.card{background:#fff;border:1px solid #dce4dc;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 8px 30px #173b2510}.narrow{max-width:550px;margin:28px auto}.badge{font-size:.65rem;letter-spacing:.08em;background:#e8f2d9;color:#345222;border-radius:20px;padding:7px 10px;display:inline-block;font-weight:700}label{display:block;font-weight:650;margin-top:14px}label span,.muted{font-size:.85rem;color:#586b63}input{font:inherit;width:100%;border:1px solid #99aea0;border-radius:9px;padding:13px;background:#fcfdfa;margin:6px 0 10px}button,.file-button{font:inherit;display:inline-block;background:#174d3f;color:white;border:1px solid #174d3f;border-radius:10px;padding:12px 18px;cursor:pointer;font-weight:650;text-align:center;text-decoration:none;min-height:46px;margin:8px 0}button:hover,.file-button:hover{background:#23654f;color:white}button:focus-visible,.file-button:focus-visible,input:focus-visible{outline:3px solid #d5ac3b;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:#214a3b;border-color:#aebfb2}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.import-card{display:flex;justify-content:space-between;gap:24px;align-items:center}.import-card p{max-width:650px}.import-card .file-button{flex-shrink:0}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.metric{background:#edf3e8;padding:20px;border-radius:13px}.metric strong{display:block;font-size:1.8rem;letter-spacing:-.05em}.metric span{font-size:.85rem;color:#516857}.table-wrap{overflow-x:auto;border:1px solid #e0e6de;border-radius:12px;margin:18px 0}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #e3e9e0;white-space:nowrap}th{font-size:.75rem;background:#f5f7f1;color:#4c6256}td.num{text-align:right;font-variant-numeric:tabular-nums}.warning{border-left:4px solid #c7992c;background:#fff8e8;padding:14px 18px;border-radius:8px;margin:14px 0}.source{color:#627269;font-size:.8rem}.empty{padding:28px;text-align:center}.history{padding-left:22px;font-size:.85rem}details{padding:10px 0}summary{cursor:pointer;font-weight:650}#status:not(:empty){background:#e8efdf;border-radius:10px;padding:14px 18px}footer{font-size:.75rem;color:#66766c;padding-bottom:36px}@media(max-width:650px){header,main,footer{padding:18px}.card{padding:19px;border-radius:16px}.import-card{display:block}.actions>*{width:100%}.narrow{margin:12px auto}header #lock{padding:10px}.metric strong{font-size:1.6rem}}@media(prefers-reduced-motion:no-preference){button,.file-button{transition:background .15s}}
:where(dialog){width:min(500px,calc(100% - 32px));border:1px solid #dce4dc;border-radius:20px;padding:24px;color:#162e29;background:white}dialog::backdrop{background:#122b27a6}
:where(select){font:inherit;width:100%;border:1px solid #99aea0;border-radius:9px;padding:13px;background:#fcfdfa;margin:6px 0 10px;min-height:52px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.section-heading>button{flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}#asset-form{border-top:1px solid #dce4dc;margin-top:20px;padding-top:18px}.asset-row{padding:18px 0;border-top:1px solid #e0e6de}.asset-row h3{margin:0}.asset-row .section-heading strong{font-size:1.25rem;white-space:nowrap}.asset-row p{margin:8px 0}.balance-option{display:flex;gap:12px;align-items:flex-start;font-weight:400;border-top:1px solid #e0e6de;padding:16px 0}.balance-option input{width:22px;height:22px;flex-shrink:0;margin:0;accent-color:#174d3f}.balance-option span{font-size:.95rem;color:#162e29}#asset-error:not(:empty){padding:12px;background:#fff0ea;color:#7c2d13;border-radius:8px}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading>button{width:100%}}
.fx-dates{display:flex;flex-wrap:wrap;gap:6px 24px;font-size:.9rem}.fx-dates p{margin:8px 0}#fx-result{display:block;padding:18px;border-radius:12px;background:#edf3e8;font-size:1.15rem;font-weight:700;margin-top:12px}#fx-status{padding-left:12px;border-left:3px solid #b9ca9b}a{color:#17563e;text-underline-offset:3px}
.instrument-card{padding:14px 18px;background:#f4f7ed;border-radius:10px;margin:12px 0}.instrument-card h4{margin:0 0 8px}fieldset{border:1px solid #ccd8c5;border-radius:12px;padding:18px}legend{font-weight:650;padding:0 8px}#instrument-section{box-shadow:none;margin-top:16px}.allocation-visual{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.allocation-chart{width:220px;max-width:100%;height:auto}.allocation-legend{list-style:none;padding:0;font-size:.9rem}.allocation-legend li{margin:8px 0}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:8px}#target-error:not(:empty){color:#7c2d13;background:#fff0ea;padding:12px;border-radius:8px}

.allocation-visual figure{margin:0;text-align:center}.allocation-visual figcaption{font-weight:650}.allocation-visual .allocation-legend{grid-column:1/-1}
