.gpa-result-card { 
            border-radius: 1rem;
            padding: 1.5rem;
            margin: 1rem 0;
            box-shadow: 0 6px 14px rgba(0,0,0,0.03);
            border: 1px solid rgba(0,0,0,0.05);
        }
        .gpa-big-number {
            font-size: 2.8rem;
            font-weight: 700;
            color: var(--primary-color, #2c7da0);
            line-height: 1.2;
        }
        .gpa-label {
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #5f6c80;
        }
        .course-table {
            background-color: white;
            border-radius: 12px;
            overflow-x: auto;
        }
        .course-table th {
            background-color: #f2f4f8;
            font-weight: 600;
        }
        .add-row-btn {
            margin: 1rem 0 1rem 0;
        }
        .honors-badge {
            background-color: #e9ecef;
            padding: 2px 8px;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 500;
        }
        .warning-cap {
            background-color: #fff3cd;
            border-left: 5px solid #ffc107;
            padding: 0.75rem 1rem;
            border-radius: 8px;
        }
        .grade-point-ref {
            font-size: 0.85rem;
            background-color: #f8f9fa;
            padding: 1rem;
            border-radius: 12px;
        }
        .equation {
            font-family: 'Courier New', monospace;
            background: #f1f3f5;
            padding: 0.3rem 0.6rem;
            border-radius: 8px;
        }
        .btn-outline-accent {
            border-color: #2c7da0;
            color: #2c7da0;
        }
        .btn-outline-accent:hover {
            background-color: #2c7da0;
            color: white;
        }
        .delete-row {
            color: #b91c1c;
            cursor: pointer;
            transition: 0.2s;
        }
        .delete-row:hover {
            color: #e02b2b;
            transform: scale(1.1);
        }
        .table tbody tr {
            transition: background 0.1s;
        }
        .honors-checkbox {
            transform: scale(1.1);
            cursor: pointer;
        }
        .legend-tooltip {
            border-bottom: 1px dashed #6c757d;
            cursor: help;
        }
        .accordion-button:not(.collapsed) {
            background-color: rgba(44,125,160,0.05);
            color: #1f5e7a;
        }
        .warning-icon {
            color: #e67e22;
            margin-left: 6px;
            cursor: help;
            font-size: 0.9rem;
        }
        .honors-warning-text {
            font-size: 0.7rem;
            color: #e67e22;
            display: inline-block;
            margin-left: 6px;
        }
        .tooltip-inner {
            background-color: #2c3e50;
        }
        .units-wrapper {
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .units-wrapper .units-input {
            flex: 1;
            min-width: 70px;
        }
        .qtr-convert {
            padding: 0.25rem 0.5rem;
            font-size: 0.75rem;
            line-height: 1;
        }
        @media (max-width: 768px) {
            .units-wrapper {
                flex-wrap: wrap;
            }
            .qtr-convert {
                margin-top: 4px;
            }
        }