:root{color:#172026;background:#f6f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:auto}button,input{font:inherit}.app-shell{flex-direction:column;max-width:1180px;min-height:100dvh;margin:0 auto;padding:28px;display:flex}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.app-header h1{margin:0 0 8px;font-size:28px;line-height:1.2}.app-header p{color:#5b6268;margin:0}.brand-heading{align-items:center;gap:16px;min-width:0;display:flex}.brand-heading img{object-fit:contain;background:#fff;border:1px solid #dfe4dd;border-radius:8px;width:108px;height:34px;padding:5px 7px}.status-chip{color:#fff;text-align:center;background:#173f35;border-radius:999px;min-width:110px;padding:8px 14px}.tabs{border-bottom:1px solid #cfd5cf;gap:8px;margin-bottom:20px;display:flex}.tabs button{color:#4a5358;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 16px}.tabs button.active{color:#172026;border-bottom-color:#1d5f50;font-weight:700}.home-panel{flex-direction:column;gap:18px;display:flex}.home-hero{background:#fff;border:1px solid #dfe4dd;border-radius:8px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:stretch;gap:18px;min-height:360px;padding:24px;display:grid}.home-copy{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex}.home-logo{object-fit:contain;width:120px;height:38px;margin-bottom:18px}.home-copy h2{max-width:820px;margin:0 0 14px;font-size:34px;line-height:1.18}.home-copy p{color:#44504a;max-width:820px;margin:0;font-size:16px;line-height:1.8}.home-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.home-actions button,.home-actions a{border-radius:6px;align-items:center;min-height:42px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.home-actions button{color:#fff;cursor:pointer;background:#1d5f50;border:0}.home-actions a{color:#1d5f50;border:1px solid #b9c5bd}.home-summary{background:#eef3ef;border:1px solid #d7dfd8;border-radius:8px;flex-direction:column;justify-content:flex-end;min-height:260px;padding:18px;display:flex}.home-summary span{color:#52605a;margin-bottom:8px;font-size:13px;font-weight:800}.home-summary strong{color:#172026;font-size:23px;line-height:1.3}.home-summary p{color:#4d5a54;margin:14px 0 0;line-height:1.65}.home-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.home-grid article{background:#fff;border:1px solid #dfe4dd;border-radius:8px;min-width:0;padding:18px}.home-grid h3{margin:0 0 10px;font-size:16px;line-height:1.35}.home-grid p{color:#4a5550;margin:0;line-height:1.7}.home-note{color:#4f4636;background:#f8f3e8;border:1px solid #ead9b8;border-radius:8px;padding:14px 16px;line-height:1.7}.panel{background:#fff;border:1px solid #dfe4dd;border-radius:8px;flex-direction:column;min-height:calc(100dvh - 190px);padding:20px;display:flex;overflow:auto}.panel h2{margin:0 0 12px;font-size:18px}.file-input{border:1px dashed #8a9790;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px;display:flex}.file-input span{font-weight:700}.file-input input{max-width:360px}.input-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.input-row label{color:#4a5358;gap:6px;display:grid}.input-row input{border:1px solid #c8d0ca;border-radius:6px;padding:10px}.choice-group{border:1px solid #d7dfd8;border-radius:8px;flex-wrap:wrap;gap:12px 18px;margin:0 0 16px;padding:12px 14px;display:flex}.choice-group legend{color:#4a5358;padding:0 6px;font-weight:700}.choice-group label{align-items:center;gap:7px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0;display:grid}.metric{background:#eef3ef;border:1px solid #d7dfd8;border-radius:8px;min-width:0;padding:10px 12px;overflow:hidden}.metric.capital-gain{background:#eef6f8;border-color:#b8d8df}.metric.income{background:#f1f7ec;border-color:#c6dfb5}.metric.fx{background:#f8f0e6;border-color:#e4c89e}.metric.withheld{background:#f8eeee;border-color:#e0b9b9}.metric.carryover{background:#f2f1f8;border-color:#cbc6e2}.metric span{color:#39433e;margin-bottom:4px;font-size:15px;font-weight:800;line-height:1.2;display:block}.metric strong{overflow-wrap:anywhere;font-size:18px;line-height:1.25;display:block}.metric em{-webkit-line-clamp:2;color:#59645f;white-space:normal;-webkit-box-orient:vertical;margin-top:6px;font-size:12px;font-style:normal;line-height:1.35;display:-webkit-box;overflow:hidden}.actions{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.actions button{color:#fff;cursor:pointer;background:#1d5f50;border:0;border-radius:6px;padding:10px 14px}.table-wrap{border:1px solid #e1e5e0;border-radius:8px;min-width:0;height:min(52dvh,560px);min-height:0;overflow:auto}.table-stack{flex-direction:column;min-height:0;display:flex}.table-stack.split{grid-template-rows:auto;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.table-section{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.option-section,.unhandled-section{margin-top:16px}.option-section .table-wrap,.unhandled-section .table-wrap{height:min(34dvh,360px)}.method-content{gap:16px;max-width:920px;display:grid}.method-content section{border-bottom:1px solid #e6e8e3;padding-bottom:16px}.method-content h3{margin:14px 0 6px;font-size:15px}.method-content section:last-child{border-bottom:0}.method-content p,.method-content li{color:#39433e;line-height:1.7}.method-content pre{background:#f4f6f3;border:1px solid #dfe4dd;border-radius:8px;padding:12px;overflow:auto}.summary-body{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;min-width:0;min-height:0;display:grid}.summary-body>*,.summary-body .table-wrap{min-width:0;min-height:0}.tax-note{color:#4f4636;background:#f8f3e8;border:1px solid #ead9b8;border-radius:8px;min-height:0;margin-top:0;padding:12px 14px;font-size:13px;overflow:auto}.tax-note h2{margin:0 0 8px;font-size:15px}.tax-note p{margin:0 0 10px}.tax-note ul{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.tax-note a{color:#185746;font-weight:700}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e7ebe7;padding:10px 12px}th{color:#4a5358;z-index:1;background:#f2f5f1;font-size:13px;position:sticky;top:0}.error-banner{color:#8c1f1f;background:#fff2f2;border:1px solid #e4a5a5;border-radius:8px;margin-bottom:16px;padding:12px 14px}.readiness{gap:10px;margin-top:16px;display:flex}.readiness span{border-radius:999px;padding:7px 12px}.readiness .ready{color:#1f6b38;background:#e4f3e8}.readiness .missing{color:#8b4b16;background:#f4e7dd}@media (width<=780px){body{overflow:auto}.app-shell{padding:18px}.app-header,.file-input{display:grid}.brand-heading{align-items:flex-start;display:grid}.tabs{overflow-x:auto}.input-row,.metric-grid,.home-grid,.home-hero{grid-template-columns:1fr}.home-hero{min-height:auto;padding:18px}.home-copy h2{font-size:26px}.summary-body,.table-stack.split{flex-direction:column;display:flex}.panel{min-height:auto;overflow:visible}.table-wrap{height:360px;max-height:55dvh}}
