*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;background:#ffffff;color:#111827;font-size:15px;line-height:1.45}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #e5e7eb}
.brand{font-weight:700;font-size:18px;letter-spacing:0.01em}
.actions{display:flex;gap:8px}
button{font:inherit;padding:8px 14px;border:1px solid #d1d5db;background:#111827;color:#ffffff;cursor:pointer}
button:hover{background:#1f2937}
button#exportBtn{background:#ffffff;color:#111827}
.layout{max-width:1120px;margin:0 auto;padding:20px}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.card{border:1px solid #e5e7eb;padding:16px}
.label{font-size:13px;color:#374151;text-transform:uppercase;letter-spacing:0.04em}
.value{font-size:30px;font-weight:700;margin-top:4px}
.panel{border:1px solid #e5e7eb;padding:16px;margin-bottom:16px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.row label{font-size:13px;font-weight:600;color:#374151}
input{font:inherit;padding:8px 10px;border:1px solid #d1d5db;min-width:160px}
.status{margin:12px 0 0;color:#374151}
.status.error{color:#b91c1c}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;padding:8px 6px;border-bottom:2px solid #111827;font-size:13px}
td{padding:8px 6px;border-bottom:1px solid #e5e7eb;vertical-align:top;overflow-wrap:anywhere}
tbody tr{cursor:pointer}
tbody tr:hover{background:#f3f4f6}
tbody tr.selected{background:#eef2ff}
.hint{margin:8px 0 0;font-size:13px;color:#4b5563}
.breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.breakdown h3{margin:0 0 8px;font-size:14px}
.breakdown ul{margin:0;padding-left:18px}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;font-size:14px}
.detail-grid dt{font-size:12px;text-transform:uppercase;letter-spacing:0.04em;color:#4b5563;margin:0}
.detail-grid dd{margin:2px 0 10px;overflow-wrap:anywhere}
@media max-width:760px{ .summary{grid-template-columns:1fr} .breakdown{grid-template-columns:1fr} .detail-grid{grid-template-columns:1fr} .top{flex-direction:column;align-items:flex-start;gap:10px} }
