        .ap-calculator-container {
            background: #2a2d30;
            border-radius: 5px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            margin: 2rem auto;
            overflow: hidden;
        }

        .ap-calculator-header {
            background: linear-gradient(135deg, #f9a321, #d7a65e);
            color: white;
            padding: 1rem;
            position: relative;
        }

        .ap-calculator-header::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
        }

        .ap-calculator-header h2 {
            position: relative;
            z-index: 1;
            margin: 0;
            font-size: 2rem;
            font-weight: 700;
        }

        .ap-calculator-body {
            padding: 2rem;
        }

        .ap-form-group {
            margin-bottom: 1.5rem;
        }

        .ap-form-label {
            font-weight: 600;
            color: #d3d3d3;
            margin-bottom: 0.5rem;
            display: block;
            font-size: 0.8rem;
        }

        .input-group {
            position: relative;
        }

        .form-control,
        .form-select {
            border: 2px solid #e9ecef;
            border-radius: 10px;
            padding: 0.75rem;
            font-size: 1rem;
            transition: all 0.3s ease;
            background: white;
        }

        .form-control:focus,
        .form-select:focus {
            border-color: #4facfe;
            box-shadow: 0 0 0 0.2rem rgba(79, 172, 254, 0.25);
            outline: none;
        }

        .btn-group {
            display: flex;
            gap: 1rem;
            justify-content: center;
            margin: 2rem 0;
        }

        .custom-input {
            background-color: #3c3f42 !important;
            color: #ccc !important;
            border: 1px solid #495057 !important;
        }

        .custom-input:focus {
            background-color: #3c3f42 !important;
            color: #ccc !important;
            border-color: #667eea;
            box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
        }

        .custom-input::placeholder {
            color: #6c757d;
            opacity: 1;
        }
        .custom-input::-webkit-input-placeholder {
            color: #6c757d;
        }

        .btn-calculate {
            background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            border: none;
            color: white;
            padding: 0.75rem 2rem;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(79, 172, 254, 0.3);
        }

        .btn-calculate:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(79, 172, 254, 0.4);
            color: white;
        }

        .btn-reset {
            background: linear-gradient(135deg, #ff7b7b 0%, #ff6b6b 100%);
            border: none;
            color: white;
            padding: 0.75rem 2rem;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
        }

        .btn-reset:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
            color: white;
        }

        .calculation-steps {
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 15px;
            padding: 1.5rem;
            margin-top: 2rem;
            border-left: 4px solid #fdc918;
        }

        .step {
            margin-bottom: 1rem;
            padding: 0.75rem;
            background: white;
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
        }

        .step:last-child {
            margin-bottom: 0;
        }

        .step-number {
            background: #4facfe;
            color: white;
            width: 25px;
            height: 25px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8rem;
            font-weight: 600;
            margin-right: 0.75rem;
        }

        .result-highlight {
            background: linear-gradient(135deg, #ffcb60 0%, #c57400 100%);
            color: white;
            border-radius: 10px;
            padding: 1rem;
            font-weight: 600;
            text-align: center;
            margin-top: 1rem;
        }

        .alert {
            border-radius: 10px;
            border: none;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .alert-warning {
            background: linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);
            color: #2d3748;
        }

        .alert-danger {
            background: linear-gradient(135deg, #fd79a8 0%, #e84393 100%);
            color: white;
        }

        .instruction {
            background: rgb(110 110 110 / 95%);
            color: white;
            border-radius: 10px;
            padding: 1rem;
            margin-bottom: 1.5rem;
            border-left: 4px solid #fedf4f;
        }

        .instruction i {
            color: #fedf4f;
            margin-right: 0.5rem;
        }

        @media (max-width: 768px) {
            .ap-calculator-container {
                margin: 1rem;
            }

            .ap-calculator-body {
                padding: 1.5rem;
            }

            .btn-group {
                flex-direction: column;
                align-items: stretch;
            }
        }