﻿.calc-table {
    border-collapse: separate;
    border-spacing: 0 0.5rem; 
}

.calc-bg {
    min-height: 100vh;
    padding-top: 32px;
    padding-bottom: 32px;
}

.calc-card {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 2px 16px rgba(80, 80, 160, 0.10);
    border: none;
}

.calc-table th {
    background: #f1f5fd;
    color: #3730a3;
    font-weight: 500;
    border: none;
    vertical-align: middle;
    width: 50%;
    box-shadow:
        0 1px 0 #e0e7ff inset,        
        0 2px 8px 0 rgba(80, 80, 160, 0.10); 
    border-radius: 0.75rem; 
    transition: background 0.2s;
}

.calc-table th:first-child {
    border-top-left-radius: 0.5rem;
}

.calc-table th:last-child {
    border-top-right-radius: 0.5rem;
}

.calc-table td {
    background: #fff;
    color: #22223b;
    border: none;
    vertical-align: middle;
    width: 50%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    box-shadow: 0 1px 4px rgba(80, 80, 160, 0.06);
}

.calc-label {
    color: #6366f1;
    font-weight: 500;
}

.calc-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 0.15rem rgba(99,102,241,.10);
}

.calc-img {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 2px 16px rgba(80, 80, 160, 0.08);
    padding: 1rem;
    margin-bottom: 1rem;
    display: inline-block;
}

.calc-title {
    color: #3730a3;
    font-weight: 700;
    letter-spacing: 1px;
}

.calc-section-title {
    color: #3730a3;
    font-weight: 600;
    margin-bottom: 1rem;
}
.dof-visual-card {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 2px 16px rgba(80, 80, 160, 0.10);
    border: none;
    padding: 1.5rem 1rem;
    min-width: 260px;
    max-width: 340px;
    margin: 0 auto;
}

.dof-svg {
    display: block;
    margin: 0 auto;
    border-radius: 0.75rem;
    box-shadow: 0 2px 8px rgba(80, 80, 160, 0.08);
}

.dof-label {
    color: #6366f1;
    font-weight: 500;
    margin-right: 0.5rem;
}

.dof-values {
    font-size: 1rem;
    color: #3730a3;
}
.dof-svg {
    border-radius: 0.75rem;
    box-shadow: 0 2px 8px rgba(80, 80, 160, 0.08);
    margin-bottom: 0.5rem;
    transition: box-shadow 0.2s, background 0.2s;
}

    .dof-svg rect {
        stroke: #6366f1;
        stroke-width: 2;
        transition: fill 0.2s, stroke 0.2s, filter 0.2s;
        filter: drop-shadow(0 1px 4px rgba(80,80,160,0.10));
    }

    .dof-svg text {
        font-weight: 600;
        letter-spacing: 1px;
        transition: fill 0.2s;
    }

    .dof-svg:hover text {
        fill: #3730a3;
    }
