.ir-tool{margin-bottom: 2rem;}
.ir-panel{background: var(--surface,#fff);border: 1px solid var(--border,#e2e8f0);border-radius: 16px;overflow: hidden;box-shadow: 0 1px 3px rgba(15,23,42,.06);}
.ir-panel-full{display: grid;grid-template-columns: 1fr;width: 100%;}
.ir-left,.ir-right{padding: 1.25rem 1rem;}
.ir-left{border-bottom: 1px solid var(--border,#e2e8f0);}
.ir-side-title{font-size: 1rem;font-weight: 600;color: var(--text-muted,#64748b);margin: 0 0 1rem;letter-spacing: 0.02em;}
.ir-fields{display: flex;flex-direction: column;gap: 0;}
.ir-field{margin-bottom: 1rem;}
.ir-field:last-of-type{margin-bottom: 0;}
.ir-label{display: block;font-size: 0.8125rem;font-weight: 600;color: var(--text-muted,#64748b);letter-spacing: 0.02em;margin-bottom: 0.35rem;}
.ir-input,.ir-select{width: 100%;padding: 0.75rem 1rem;font-size: 1rem;font-weight: 500;color: var(--text-main,#0f172a);background: var(--surface-muted,#f8fafc);border: 1px solid var(--border,#e2e8f0);border-radius: 10px;transition: border-color .2s,background .2s;}
.ir-input:focus,.ir-select:focus{outline: none;border-color: var(--primary,#0ea5e9);background: var(--surface,#fff);box-shadow: 0 0 0 3px rgba(14,165,233,.12);}
.ir-select{cursor: pointer;appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 0.75rem center;background-size: 1.25rem;padding-right: 2.5rem;}
.ir-input::-webkit-inner-spin-button,.ir-input::-webkit-outer-spin-button{opacity: 1;}
.ir-actions{margin-top: 1rem;padding-top: 1rem;border-top: 1px solid var(--border,#e2e8f0);}
.ir-btn{padding: 0.5rem 1rem;font-size: 0.875rem;font-weight: 600;border-radius: 8px;cursor: pointer;transition: transform .15s,background .2s;}
.ir-btn-reset{color: var(--text-muted,#64748b);background: transparent;border: 1px solid var(--border,#e2e8f0);}
.ir-btn-reset:hover{background: var(--surface-muted,#f8fafc);}
.ir-result-strip{padding: 1rem 0;border-bottom: 1px solid var(--border,#e2e8f0);margin-bottom: 1rem;}
.ir-result-label{font-size: 0.75rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted,#64748b);display: block;margin-bottom: 0.25rem;}
.ir-result-value{font-size: clamp(1.75rem, 4vw, 2.5rem);font-weight: 700;color: var(--text-main,#0f172a);line-height: 1.2;}
.ir-result-summary{font-size: 1rem;color: var(--text-muted,#64748b);margin: 0.5rem 0 0.5rem;}
.ir-totals{display: flex;flex-wrap: wrap;gap: 0.75rem 1.25rem;margin-bottom: 0.75rem;font-size: 0.95rem;color: var(--text-muted,#64748b);}
.ir-total-line{display: block;}
.ir-result-actions{display: flex;flex-wrap: wrap;gap: 0.5rem;align-items: center;}
.ir-btn-export{color: var(--text-main,#0f172a);background: var(--surface-muted,#f8fafc);border: 1px solid var(--border,#e2e8f0);}
.ir-btn-export:hover{background: var(--surface,#fff);border-color: var(--primary,#0ea5e9);color: var(--primary,#0ea5e9);}
.ir-copy{display: inline-flex;align-items: center;justify-content: center;gap: 0.375rem;padding: 0.5rem 1rem;font-size: 0.875rem;font-weight: 600;color: var(--text-main,#0f172a);background: var(--surface-muted,#f8fafc);border: 1px solid var(--border,#e2e8f0);border-radius: 8px;cursor: pointer;transition: color .2s,background .2s,border-color .2s;}
.ir-copy:hover{color: var(--text-main,#0ea5e9);background: var(--surface,#fff);border-color: var(--border,#0ea5e9);}
.ir-copy.ir-copied{color: #fff;background: #10b981;border-color: #10b981;}
.ir-chart-wrap{margin-bottom: 1.5rem;}
.ir-chart-title,.ir-table-title{font-size: 0.9375rem;font-weight: 600;color: var(--text-main,#0f172a);margin: 0 0 0.75rem;}
.ir-chart-scroll{overflow: auto;-webkit-overflow-scrolling: touch;border: 1px solid var(--border,#e2e8f0);border-radius: 10px;}
.ir-chart-inner{position: relative;width: 100%;min-height: 220px;}
#ir-chart{max-width: 100%;height: auto;}
.ir-table-wrap{width: 100%;}
.ir-table-scroll{overflow: auto;-webkit-overflow-scrolling: touch;border: 1px solid var(--border,#e2e8f0);border-radius: 10px;}
.ir-table{min-width: 480px;}
.ir-table{width: 100%;border-collapse: collapse;font-size: 0.875rem;}
.ir-table th,.ir-table td{padding: 0.5rem 0.75rem;text-align: center;border-bottom: 1px solid var(--border,#e2e8f0);}
.ir-table th{font-weight: 600;color: var(--text-muted,#64748b);background: var(--surface-muted,#f8fafc);}
.ir-table th:first-child,.ir-table td:first-child{position: sticky;left: 0;background: var(--surface,#fff);z-index: 1;}
.ir-table th:first-child{background: var(--surface-muted,#f8fafc);}
.ir-table tbody tr:last-child td{border-bottom: none;}
.ir-table td{color: var(--text-main,#0f172a);}
.ir-table .ir-num{text-align: center;font-variant-numeric: tabular-nums;}
.ir-edu{margin-bottom: 2rem;padding: 1.5rem 0;}
.ir-edu-title{font-size: 1.25rem;font-weight: 700;color: var(--text-main,#0f172a);margin: 0 0 0.75rem;}
.ir-edu p{font-size: 0.9375rem;color: var(--text-muted,#64748b);line-height: 1.65;margin: 0 0 0.75rem;}
.ir-edu p:last-child{margin-bottom: 0;}
@media (max-width:767px){.ir-chart-scroll{max-height: 300px;}.ir-chart-inner{min-width: 400px;min-height: 220px;}.ir-table-scroll{max-height: 300px;}}
@media (min-width:768px){.ir-panel-full{grid-template-columns: minmax(280px,380px) 1fr;}.ir-left{border-bottom: none;border-right: 1px solid var(--border,#e2e8f0);}.ir-left,.ir-right{padding: 1.5rem;}.ir-chart-inner{min-height: 260px;}.ir-chart-scroll{max-height: none;}.ir-table-scroll{max-height: none;}}
@media (min-width:1024px){.ir-left,.ir-right{padding: 1.75rem 2rem;}}
