:root{--b:#0b6e75;--d:#084c61;--bg:#f5f7fb;--t:#14213d;--m:#667085;--e:#b42318;--o:#067647}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px Segoe UI,Arial,sans-serif;color:var(--t)}main{max-width:1080px;margin:34px auto;padding:0 18px}.hero{display:flex;gap:14px;align-items:center;margin-bottom:20px}.logo{width:55px;height:55px;border-radius:15px;background:linear-gradient(135deg,var(--b),var(--d));color:#fff;display:grid;place-items:center;font-weight:800}.hero h1{margin:0;font-size:clamp(1.55rem,4vw,2.35rem)}.hero p,.muted{color:var(--m)}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:22px;box-shadow:0 10px 25px #1018280d}h2{font-size:1.08rem;margin:0 0 14px}.download,.upload,button{display:inline-flex;justify-content:center;align-items:center;border-radius:10px;padding:11px 15px;font-weight:750;text-decoration:none;cursor:pointer}.download{border:1px solid var(--b);color:var(--b);background:#fff}.drop{margin-top:15px;border:2px dashed #98a2b3;border-radius:14px;padding:24px;text-align:center;background:#fcfcfd}.drop.drag{border-color:var(--b);background:#eaf8f7}.upload,button{border:0;background:var(--b);color:#fff}.status{margin-top:11px;color:var(--m)}.status.ok{color:var(--o)}.status.err{color:var(--e)}label{display:block;font-weight:700;margin:12px 0 7px}input[type=number],select{width:100%;padding:12px;border:1px solid #d0d5dd;border-radius:10px;font-size:1rem;background:#fff}button{width:100%;margin-top:12px;font-size:1rem}button:disabled,input:disabled,select:disabled{opacity:.55}.notice{margin-top:15px;border-left:4px solid #f79009;background:#fffaeb;padding:11px 13px;border-radius:8px;color:#7a2e0e}.preview{overflow:auto;max-height:300px;margin-top:15px;border:1px solid #eaecf0;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{padding:8px 10px;border-bottom:1px solid #eaecf0;text-align:right;white-space:nowrap}th{position:sticky;top:0;background:#f2f4f7}.result{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.metric{border:1px solid #eaecf0;border-radius:11px;padding:11px;background:#fcfcfd}.metric small{display:block;color:var(--m);text-transform:uppercase}.metric strong{display:block;margin-top:4px;font-size:1.05rem}.source{font-size:.76rem;color:var(--m);margin-top:4px}.range{margin-top:8px}@media(max-width:760px){.grid{grid-template-columns:1fr}}