.calc-card{background:var(--color-section);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.calc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.calc-title{font-size:1.25rem;font-weight:700;margin:0}.btn-secondary{background:var(--color-card);border:1px solid var(--color-border);color:var(--color-text);padding:.4rem .85rem;border-radius:6px;font-size:.875rem;cursor:pointer;font-weight:600}.btn-secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:.75rem}.grade-table{width:100%;border-collapse:collapse;min-width:420px}.grade-table th,.grade-table td{padding:.5rem .625rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.grade-table th{background:var(--color-card);font-size:.8125rem;font-weight:600}.grade-table input,.grade-table select{width:100%;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:.9rem}.grade-table input:focus,.grade-table select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.ucd-remove{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;font-weight:700}.ucd-remove:hover{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-add{flex:0 0 auto;background:var(--color-primary-light);color:var(--color-primary-dark);border:1px dashed var(--color-primary);padding:.45rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer}.btn-add:hover{background:var(--color-primary);color:#fff;border-style:solid}.result-block{margin-top:1rem;padding:1rem 1.25rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:8px}.result-main{display:flex;flex-direction:column;gap:.2rem}.result-label{font-size:.8125rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.result-value{font-size:1.75rem;font-weight:700;color:var(--color-primary);line-height:1.1}.result-sub{font-size:.875rem;font-weight:600}.result-extra{margin-top:.5rem;font-size:.9rem;color:var(--color-text-muted)}.result-extra strong{color:var(--color-accent-text);font-size:1rem}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-top:.75rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.15rem}.stat-label{font-size:.7rem;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;letter-spacing:.03em}.stat-val{font-size:1.15rem;font-weight:700;color:var(--color-text)}.svg-bar{margin-top:1rem;color:var(--color-primary)}.svg-bar svg{width:100%;height:auto;max-width:360px}.grade-ref{margin-top:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px}.grade-ref summary{padding:.6rem .9rem;cursor:pointer;font-weight:600;font-size:.9rem}.grade-ref .table-scroll{padding:0 .9rem .9rem;overflow-x:auto}.ref-table{width:100%;border-collapse:collapse;font-size:.875rem}.ref-table th,.ref-table td{padding:.35rem .5rem;border-bottom:1px solid var(--color-border);text-align:left}.ref-table caption{caption-side:top;text-align:left;font-size:.75rem;color:var(--color-text-muted);padding-bottom:.4rem}.table-scroll{overflow-x:auto;margin:1rem 0}.comparison-table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:.55rem .65rem;border-bottom:1px solid var(--color-border);text-align:left;font-size:.9rem}.comparison-table th{background:var(--color-card);font-weight:600;font-size:.8125rem}.comparison-table caption{caption-side:top;text-align:left;font-size:.8125rem;color:var(--color-text-muted);padding-bottom:.4rem}.calc-disclaimer{font-size:.825rem;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding-top:.875rem;margin-top:1.5rem;line-height:1.55}@media(max-width:480px){.grade-table{min-width:0;width:100%}.result-value{font-size:1.5rem}}
