*{box-sizing:border-box}html,body,#root{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f4f6fa;color:#1f2937}.app{max-width:1280px;margin:0 auto;padding:24px}h1{font-size:22px;margin:0 0 4px}.subtitle{color:#6b7280;font-size:13px;margin-bottom:20px}.grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}@media (max-width: 980px){.grid{grid-template-columns:1fr}}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 1px 2px #00000008}.card h2{font-size:15px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.06em;color:#374151}.card h3{font-size:13px;margin:16px 0 8px;color:#4b5563;text-transform:uppercase;letter-spacing:.05em}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.row label{flex:0 0 180px;font-size:13px;color:#374151}.row input,.row select{flex:1;min-width:0;padding:7px 9px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.row input:focus,.row select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.row input[type=checkbox]{flex:0 0 auto;width:16px;height:16px}.row .hint{flex:0 0 100%;margin-left:180px;color:#9ca3af;font-size:11px}.tier-row,.partner-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 40px;gap:8px;margin-bottom:8px;align-items:center}.tier-row input,.partner-row input{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px}.tier-row .col-label,.partner-row .col-label{font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase}button{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:12px}button:hover{background:#f3f4f6}button.primary{background:#4f46e5;color:#fff;border-color:#4f46e5}button.primary:hover{background:#4338ca}button.danger{color:#b91c1c;border-color:#fca5a5}button.danger:hover{background:#fef2f2}.result{font-family:ui-monospace,SFMono-Regular,monospace}.kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #e5e7eb;font-size:13px}.kv:last-child{border-bottom:none}.kv .k{color:#6b7280}.kv .v{font-weight:600;font-variant-numeric:tabular-nums;color:#111827}.kv.highlight{background:#eef2ff;padding:8px 10px;border-radius:6px;border-bottom:none;margin:6px 0}.kv.highlight .v{color:#4338ca;font-size:15px}.kv .k small{color:#9ca3af;font-weight:400}.group-label{margin:14px 0 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.group-label:first-of-type{margin-top:4px}.totals .kv.highlight .v{font-size:18px}.totals .kv.total .v{color:#047857;font-size:18px}.warn{background:#fef3c7;color:#92400e;padding:8px 12px;border-radius:6px;font-size:12px;margin-top:8px}.err{background:#fee2e2;color:#991b1b;padding:8px 12px;border-radius:6px;font-size:12px;margin-top:8px}.ok{background:#d1fae5;color:#065f46;padding:6px 10px;border-radius:6px;font-size:11px;display:inline-block}.partner-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.partner-table th,.partner-table td{padding:6px 8px;text-align:left;border-bottom:1px solid #e5e7eb}.partner-table th{background:#f9fafb;color:#6b7280;font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.partner-table td.num{text-align:right;font-variant-numeric:tabular-nums}details{margin-top:14px}details summary{cursor:pointer;font-size:12px;color:#6366f1;-webkit-user-select:none;user-select:none}details pre{background:#1f2937;color:#d1fae5;padding:12px;border-radius:6px;overflow:auto;font-size:11px;line-height:1.5}
